<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>unpacker_art.diff</title>

    <!--
      Diff to HTML (template.html)
    -->

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/github.min.css" />

    <style>
.d2h-d-none{display:none}.d2h-wrapper{text-align:left}.d2h-file-header{background-color:#f7f7f7;border-bottom:1px solid #d8d8d8;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;height:35px;padding:5px 10px}.d2h-file-header,.d2h-file-stats{display:-webkit-box;display:-ms-flexbox;display:flex}.d2h-file-stats{font-size:14px;margin-left:auto}.d2h-lines-added{border:1px solid #b4e2b4;border-radius:5px 0 0 5px;color:#399839;padding:2px;text-align:right;vertical-align:middle}.d2h-lines-deleted{border:1px solid #e9aeae;border-radius:0 5px 5px 0;color:#c33;margin-left:1px;padding:2px;text-align:left;vertical-align:middle}.d2h-file-name-wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:15px;width:100%}.d2h-file-name{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px;margin-bottom:1em}.d2h-file-collapse{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ddd;border-radius:3px;cursor:pointer;display:none;font-size:12px;justify-content:flex-end;padding:4px 8px}.d2h-file-collapse.d2h-selected{background-color:#c8e1ff}.d2h-file-collapse-input{margin:0 4px 0 0}.d2h-diff-table{border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px;width:100%}.d2h-files-diff{width:100%}.d2h-file-diff{overflow-y:hidden}.d2h-file-side-diff{display:inline-block;margin-bottom:-8px;margin-right:-4px;overflow-x:scroll;overflow-y:hidden;width:50%}.d2h-code-line{padding:0 8em}.d2h-code-line,.d2h-code-side-line{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;width:100%}.d2h-code-side-line{padding:0 4.5em}.d2h-code-line-ctn{word-wrap:normal;background:none;display:inline-block;padding:0;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle;white-space:pre;width:100%}.d2h-code-line del,.d2h-code-side-line del{background-color:#ffb6ba}.d2h-code-line del,.d2h-code-line ins,.d2h-code-side-line del,.d2h-code-side-line ins{border-radius:.2em;display:inline-block;margin-top:-1px;text-decoration:none;vertical-align:middle}.d2h-code-line ins,.d2h-code-side-line ins{background-color:#97f295;text-align:left}.d2h-code-line-prefix{word-wrap:normal;background:none;display:inline;padding:0;white-space:pre}.line-num1{float:left}.line-num1,.line-num2{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:0 .5em;text-overflow:ellipsis;width:3.5em}.line-num2{float:right}.d2h-code-linenumber{background-color:#fff;border:solid #eee;border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.3);cursor:pointer;display:inline-block;position:absolute;text-align:right;width:7.5em}.d2h-code-linenumber:after{content:"\200b"}.d2h-code-side-linenumber{background-color:#fff;border:solid #eee;border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.3);cursor:pointer;display:inline-block;overflow:hidden;padding:0 .5em;position:absolute;text-align:right;text-overflow:ellipsis;width:4em}.d2h-code-side-linenumber:after{content:"\200b"}.d2h-code-side-emptyplaceholder,.d2h-emptyplaceholder{background-color:#f1f1f1;border-color:#e1e1e1}.d2h-code-line-prefix,.d2h-code-linenumber,.d2h-code-side-linenumber,.d2h-emptyplaceholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d2h-code-linenumber,.d2h-code-side-linenumber{direction:rtl}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;border-color:#d5e4f2;color:rgba(0,0,0,.3)}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{color:#3572b0;text-decoration:none}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;margin:0;padding:0}.d2h-file-list>li{border-bottom:1px solid #ddd;margin:0;padding:5px 10px}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{cursor:pointer;display:none;font-size:10px}.d2h-icon{fill:currentColor;margin-right:10px;vertical-align:middle}.d2h-deleted{color:#c33}.d2h-added{color:#399839}.d2h-changed{color:#d0b44c}.d2h-moved{color:#3572b0}.d2h-tag{background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:10px;margin-left:5px;padding:0 2px}.d2h-deleted-tag{border:1px solid #c33}.d2h-added-tag{border:1px solid #399839}.d2h-changed-tag{border:1px solid #d0b44c}.d2h-moved-tag{border:1px solid #3572b0}
</style>

    <script>
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var i in t)("object"==typeof exports?exports:e)[i]=t[i]}}(this,(()=>{return e={696:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.convertChangesToDMP=function(e){for(var n,t,i=[],a=0;a<e.length;a++)t=(n=e[a]).added?1:n.removed?-1:0,i.push([t,n.value]);return i}},5826:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.convertChangesToXML=function(e){for(var n=[],t=0;t<e.length;t++){var i=e[t];i.added?n.push("<ins>"):i.removed&&n.push("<del>"),n.push(i.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")),i.added?n.push("</ins>"):i.removed&&n.push("</del>")}return n.join("")}},6976:(e,n,t)=>{"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.diffArrays=function(e,n,t){return a.diff(e,n,t)},n.arrayDiff=void 0;var a=new(((i=t(5913))&&i.__esModule?i:{default:i}).default);n.arrayDiff=a,a.tokenize=function(e){return e.slice()},a.join=a.removeEmpty=function(e){return e}},5913:(e,n)=>{"use strict";function t(){}function i(e,n,t,i,a){for(var r=0,s=n.length,o=0,l=0;r<s;r++){var c=n[r];if(c.removed){if(c.value=e.join(i.slice(l,l+c.count)),l+=c.count,r&&n[r-1].added){var d=n[r-1];n[r-1]=n[r],n[r]=d}}else{if(!c.added&&a){var u=t.slice(o,o+c.count);u=u.map((function(e,n){var t=i[l+n];return t.length>e.length?t:e})),c.value=e.join(u)}else c.value=e.join(t.slice(o,o+c.count));o+=c.count,c.added||(l+=c.count)}}var g=n[s-1];return s>1&&"string"==typeof g.value&&(g.added||g.removed)&&e.equals("",g.value)&&(n[s-2].value+=g.value,n.pop()),n}function a(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(n,"__esModule",{value:!0}),n.default=t,t.prototype={diff:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.callback;"function"==typeof t&&(r=t,t={}),this.options=t;var s=this;function o(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),n=this.castInput(n),e=this.removeEmpty(this.tokenize(e));var l=(n=this.removeEmpty(this.tokenize(n))).length,c=e.length,d=1,u=l+c,g=[{newPos:-1,components:[]}],b=this.extractCommon(g[0],n,e,0);if(g[0].newPos+1>=l&&b+1>=c)return o([{value:this.join(n),count:n.length}]);function p(){for(var t=-1*d;t<=d;t+=2){var r=void 0,u=g[t-1],b=g[t+1],p=(b?b.newPos:0)-t;u&&(g[t-1]=void 0);var f=u&&u.newPos+1<l,m=b&&0<=p&&p<c;if(f||m){if(!f||m&&u.newPos<b.newPos?(r=a(b),s.pushComponent(r.components,void 0,!0)):((r=u).newPos++,s.pushComponent(r.components,!0,void 0)),p=s.extractCommon(r,n,e,t),r.newPos+1>=l&&p+1>=c)return o(i(s,r.components,n,e,s.useLongestToken));g[t]=r}else g[t]=void 0}d++}if(r)!function e(){setTimeout((function(){if(d>u)return r();p()||e()}),0)}();else for(;d<=u;){var f=p();if(f)return f}},pushComponent:function(e,n,t){var i=e[e.length-1];i&&i.added===n&&i.removed===t?e[e.length-1]={count:i.count+1,added:n,removed:t}:e.push({count:1,added:n,removed:t})},extractCommon:function(e,n,t,i){for(var a=n.length,r=t.length,s=e.newPos,o=s-i,l=0;s+1<a&&o+1<r&&this.equals(n[s+1],t[o+1]);)s++,o++,l++;return l&&e.components.push({count:l}),e.newPos=s,o},equals:function(e,n){return this.options.comparator?this.options.comparator(e,n):e===n||this.options.ignoreCase&&e.toLowerCase()===n.toLowerCase()},removeEmpty:function(e){for(var n=[],t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}}},7630:(e,n,t)=>{"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.diffChars=function(e,n,t){return a.diff(e,n,t)},n.characterDiff=void 0;var a=new(((i=t(5913))&&i.__esModule?i:{default:i}).default);n.characterDiff=a},4852:(e,n,t)=>{"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.diffCss=function(e,n,t){return a.diff(e,n,t)},n.cssDiff=void 0;var a=new(((i=t(5913))&&i.__esModule?i:{default:i}).default);n.cssDiff=a,a.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)}},4276:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.diffJson=function(e,n,t){return l.diff(e,n,t)},n.canonicalize=c,n.jsonDiff=void 0;var i,a=(i=t(5913))&&i.__esModule?i:{default:i},r=t(8187);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}var o=Object.prototype.toString,l=new a.default;function c(e,n,t,i,a){var r,l;for(n=n||[],t=t||[],i&&(e=i(a,e)),r=0;r<n.length;r+=1)if(n[r]===e)return t[r];if("[object Array]"===o.call(e)){for(n.push(e),l=new Array(e.length),t.push(l),r=0;r<e.length;r+=1)l[r]=c(e[r],n,t,i,a);return n.pop(),t.pop(),l}if(e&&e.toJSON&&(e=e.toJSON()),"object"===s(e)&&null!==e){n.push(e),l={},t.push(l);var d,u=[];for(d in e)e.hasOwnProperty(d)&&u.push(d);for(u.sort(),r=0;r<u.length;r+=1)l[d=u[r]]=c(e[d],n,t,i,d);n.pop(),t.pop()}else l=e;return l}n.jsonDiff=l,l.useLongestToken=!0,l.tokenize=r.lineDiff.tokenize,l.castInput=function(e){var n=this.options,t=n.undefinedReplacement,i=n.stringifyReplacer,a=void 0===i?function(e,n){return void 0===n?t:n}:i;return"string"==typeof e?e:JSON.stringify(c(e,null,null,a),a,"  ")},l.equals=function(e,n){return a.default.prototype.equals.call(l,e.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"))}},8187:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.diffLines=function(e,n,t){return s.diff(e,n,t)},n.diffTrimmedLines=function(e,n,t){var i=(0,r.generateOptions)(t,{ignoreWhitespace:!0});return s.diff(e,n,i)},n.lineDiff=void 0;var i,a=(i=t(5913))&&i.__esModule?i:{default:i},r=t(8009),s=new a.default;n.lineDiff=s,s.tokenize=function(e){var n=[],t=e.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(var i=0;i<t.length;i++){var a=t[i];i%2&&!this.options.newlineIsToken?n[n.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),n.push(a))}return n}},4146:(e,n,t)=>{"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.diffSentences=function(e,n,t){return a.diff(e,n,t)},n.sentenceDiff=void 0;var a=new(((i=t(5913))&&i.__esModule?i:{default:i}).default);n.sentenceDiff=a,a.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)}},5303:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.diffWords=function(e,n,t){return t=(0,r.generateOptions)(t,{ignoreWhitespace:!0}),l.diff(e,n,t)},n.diffWordsWithSpace=function(e,n,t){return l.diff(e,n,t)},n.wordDiff=void 0;var i,a=(i=t(5913))&&i.__esModule?i:{default:i},r=t(8009),s=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,o=/\S/,l=new a.default;n.wordDiff=l,l.equals=function(e,n){return this.options.ignoreCase&&(e=e.toLowerCase(),n=n.toLowerCase()),e===n||this.options.ignoreWhitespace&&!o.test(e)&&!o.test(n)},l.tokenize=function(e){for(var n=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;t<n.length-1;t++)!n[t+1]&&n[t+2]&&s.test(n[t])&&s.test(n[t+2])&&(n[t]+=n[t+2],n.splice(t+1,2),t--);return n}},9479:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Diff",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"diffChars",{enumerable:!0,get:function(){return r.diffChars}}),Object.defineProperty(n,"diffWords",{enumerable:!0,get:function(){return s.diffWords}}),Object.defineProperty(n,"diffWordsWithSpace",{enumerable:!0,get:function(){return s.diffWordsWithSpace}}),Object.defineProperty(n,"diffLines",{enumerable:!0,get:function(){return o.diffLines}}),Object.defineProperty(n,"diffTrimmedLines",{enumerable:!0,get:function(){return o.diffTrimmedLines}}),Object.defineProperty(n,"diffSentences",{enumerable:!0,get:function(){return l.diffSentences}}),Object.defineProperty(n,"diffCss",{enumerable:!0,get:function(){return c.diffCss}}),Object.defineProperty(n,"diffJson",{enumerable:!0,get:function(){return d.diffJson}}),Object.defineProperty(n,"canonicalize",{enumerable:!0,get:function(){return d.canonicalize}}),Object.defineProperty(n,"diffArrays",{enumerable:!0,get:function(){return u.diffArrays}}),Object.defineProperty(n,"applyPatch",{enumerable:!0,get:function(){return g.applyPatch}}),Object.defineProperty(n,"applyPatches",{enumerable:!0,get:function(){return g.applyPatches}}),Object.defineProperty(n,"parsePatch",{enumerable:!0,get:function(){return b.parsePatch}}),Object.defineProperty(n,"merge",{enumerable:!0,get:function(){return p.merge}}),Object.defineProperty(n,"structuredPatch",{enumerable:!0,get:function(){return f.structuredPatch}}),Object.defineProperty(n,"createTwoFilesPatch",{enumerable:!0,get:function(){return f.createTwoFilesPatch}}),Object.defineProperty(n,"createPatch",{enumerable:!0,get:function(){return f.createPatch}}),Object.defineProperty(n,"convertChangesToDMP",{enumerable:!0,get:function(){return m.convertChangesToDMP}}),Object.defineProperty(n,"convertChangesToXML",{enumerable:!0,get:function(){return E.convertChangesToXML}});var i,a=(i=t(5913))&&i.__esModule?i:{default:i},r=t(7630),s=t(5303),o=t(8187),l=t(4146),c=t(4852),d=t(4276),u=t(6976),g=t(3690),b=t(3719),p=t(3051),f=t(1286),m=t(696),E=t(5826)},3690:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.applyPatch=s,n.applyPatches=function(e,n){"string"==typeof e&&(e=(0,a.parsePatch)(e));var t=0;!function i(){var a=e[t++];if(!a)return n.complete();n.loadFile(a,(function(e,t){if(e)return n.complete(e);var r=s(t,a,n);n.patched(a,r,(function(e){if(e)return n.complete(e);i()}))}))}()};var i,a=t(3719),r=(i=t(8169))&&i.__esModule?i:{default:i};function s(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n&&(n=(0,a.parsePatch)(n)),Array.isArray(n)){if(n.length>1)throw new Error("applyPatch only works with a single input.");n=n[0]}var i,s,o=e.split(/\r\n|[\n\v\f\r\x85]/),l=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],c=n.hunks,d=t.compareLine||function(e,n,t,i){return n===i},u=0,g=t.fuzzFactor||0,b=0,p=0;function f(e,n){for(var t=0;t<e.lines.length;t++){var i=e.lines[t],a=i.length>0?i[0]:" ",r=i.length>0?i.substr(1):i;if(" "===a||"-"===a){if(!d(n+1,o[n],a,r)&&++u>g)return!1;n++}}return!0}for(var m=0;m<c.length;m++){for(var E=c[m],h=o.length-E.oldLines,_=0,N=p+E.oldStart-1,T=(0,r.default)(N,b,h);void 0!==_;_=T())if(f(E,N+_)){E.offset=p+=_;break}if(void 0===_)return!1;b=E.offset+E.oldStart+E.oldLines}for(var O=0,v=0;v<c.length;v++){var A=c[v],y=A.oldStart+A.offset+O-1;O+=A.newLines-A.oldLines;for(var S=0;S<A.lines.length;S++){var R=A.lines[S],w=R.length>0?R[0]:" ",I=R.length>0?R.substr(1):R,C=A.linedelimiters[S];if(" "===w)y++;else if("-"===w)o.splice(y,1),l.splice(y,1);else if("+"===w)o.splice(y,0,I),l.splice(y,0,C),y++;else if("\\"===w){var L=A.lines[S-1]?A.lines[S-1][0]:null;"+"===L?i=!0:"-"===L&&(s=!0)}}}if(i)for(;!o[o.length-1];)o.pop(),l.pop();else s&&(o.push(""),l.push("\n"));for(var M=0;M<o.length-1;M++)o[M]=o[M]+l[M];return o.join("")}},1286:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.structuredPatch=s,n.formatPatch=o,n.createTwoFilesPatch=l,n.createPatch=function(e,n,t,i,a,r){return l(e,e,n,t,i,a,r)};var i=t(8187);function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return r(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?r(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t<n;t++)i[t]=e[t];return i}function s(e,n,t,r,s,o,l){l||(l={}),void 0===l.context&&(l.context=4);var c=(0,i.diffLines)(t,r,l);function d(e){return e.map((function(e){return" "+e}))}c.push({value:"",lines:[]});for(var u=[],g=0,b=0,p=[],f=1,m=1,E=function(e){var n=c[e],i=n.lines||n.value.replace(/\n$/,"").split("\n");if(n.lines=i,n.added||n.removed){var s;if(!g){var o=c[e-1];g=f,b=m,o&&(p=l.context>0?d(o.lines.slice(-l.context)):[],g-=p.length,b-=p.length)}(s=p).push.apply(s,a(i.map((function(e){return(n.added?"+":"-")+e})))),n.added?m+=i.length:f+=i.length}else{if(g)if(i.length<=2*l.context&&e<c.length-2){var E;(E=p).push.apply(E,a(d(i)))}else{var h,_=Math.min(i.length,l.context);(h=p).push.apply(h,a(d(i.slice(0,_))));var N={oldStart:g,oldLines:f-g+_,newStart:b,newLines:m-b+_,lines:p};if(e>=c.length-2&&i.length<=l.context){var T=/\n$/.test(t),O=/\n$/.test(r),v=0==i.length&&p.length>N.oldLines;!T&&v&&t.length>0&&p.splice(N.oldLines,0,"\\ No newline at end of file"),(T||v)&&O||p.push("\\ No newline at end of file")}u.push(N),g=0,b=0,p=[]}f+=i.length,m+=i.length}},h=0;h<c.length;h++)E(h);return{oldFileName:e,newFileName:n,oldHeader:s,newHeader:o,hunks:u}}function o(e){var n=[];e.oldFileName==e.newFileName&&n.push("Index: "+e.oldFileName),n.push("==================================================================="),n.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),n.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var t=0;t<e.hunks.length;t++){var i=e.hunks[t];0===i.oldLines&&(i.oldStart-=1),0===i.newLines&&(i.newStart-=1),n.push("@@ -"+i.oldStart+","+i.oldLines+" +"+i.newStart+","+i.newLines+" @@"),n.push.apply(n,i.lines)}return n.join("\n")+"\n"}function l(e,n,t,i,a,r,l){return o(s(e,n,t,i,a,r,l))}},3051:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.calcLineCount=l,n.merge=function(e,n,t){e=c(e,t),n=c(n,t);var i={};(e.index||n.index)&&(i.index=e.index||n.index),(e.newFileName||n.newFileName)&&(d(e)?d(n)?(i.oldFileName=u(i,e.oldFileName,n.oldFileName),i.newFileName=u(i,e.newFileName,n.newFileName),i.oldHeader=u(i,e.oldHeader,n.oldHeader),i.newHeader=u(i,e.newHeader,n.newHeader)):(i.oldFileName=e.oldFileName,i.newFileName=e.newFileName,i.oldHeader=e.oldHeader,i.newHeader=e.newHeader):(i.oldFileName=n.oldFileName||e.oldFileName,i.newFileName=n.newFileName||e.newFileName,i.oldHeader=n.oldHeader||e.oldHeader,i.newHeader=n.newHeader||e.newHeader)),i.hunks=[];for(var a=0,r=0,s=0,o=0;a<e.hunks.length||r<n.hunks.length;){var l=e.hunks[a]||{oldStart:1/0},f=n.hunks[r]||{oldStart:1/0};if(g(l,f))i.hunks.push(b(l,s)),a++,o+=l.newLines-l.oldLines;else if(g(f,l))i.hunks.push(b(f,o)),r++,s+=f.newLines-f.oldLines;else{var m={oldStart:Math.min(l.oldStart,f.oldStart),oldLines:0,newStart:Math.min(l.newStart+s,f.oldStart+o),newLines:0,lines:[]};p(m,l.oldStart,l.lines,f.oldStart,f.lines),r++,a++,i.hunks.push(m)}}return i};var i=t(1286),a=t(3719),r=t(7780);function s(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return o(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t<n;t++)i[t]=e[t];return i}function l(e){var n=v(e.lines),t=n.oldLines,i=n.newLines;void 0!==t?e.oldLines=t:delete e.oldLines,void 0!==i?e.newLines=i:delete e.newLines}function c(e,n){if("string"==typeof e){if(/^@@/m.test(e)||/^Index:/m.test(e))return(0,a.parsePatch)(e)[0];if(!n)throw new Error("Must provide a base reference or pass in a patch");return(0,i.structuredPatch)(void 0,void 0,n,e)}return e}function d(e){return e.newFileName&&e.newFileName!==e.oldFileName}function u(e,n,t){return n===t?n:(e.conflict=!0,{mine:n,theirs:t})}function g(e,n){return e.oldStart<n.oldStart&&e.oldStart+e.oldLines<n.oldStart}function b(e,n){return{oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart+n,newLines:e.newLines,lines:e.lines}}function p(e,n,t,i,a){var r={offset:n,lines:t,index:0},o={offset:i,lines:a,index:0};for(h(e,r,o),h(e,o,r);r.index<r.lines.length&&o.index<o.lines.length;){var c=r.lines[r.index],d=o.lines[o.index];if("-"!==c[0]&&"+"!==c[0]||"-"!==d[0]&&"+"!==d[0])if("+"===c[0]&&" "===d[0]){var u;(u=e.lines).push.apply(u,s(N(r)))}else if("+"===d[0]&&" "===c[0]){var g;(g=e.lines).push.apply(g,s(N(o)))}else"-"===c[0]&&" "===d[0]?m(e,r,o):"-"===d[0]&&" "===c[0]?m(e,o,r,!0):c===d?(e.lines.push(c),r.index++,o.index++):E(e,N(r),N(o));else f(e,r,o)}_(e,r),_(e,o),l(e)}function f(e,n,t){var i=N(n),a=N(t);if(T(i)&&T(a)){var o,l;if((0,r.arrayStartsWith)(i,a)&&O(t,i,i.length-a.length))return void(o=e.lines).push.apply(o,s(i));if((0,r.arrayStartsWith)(a,i)&&O(n,a,a.length-i.length))return void(l=e.lines).push.apply(l,s(a))}else if((0,r.arrayEqual)(i,a)){var c;return void(c=e.lines).push.apply(c,s(i))}E(e,i,a)}function m(e,n,t,i){var a,r=N(n),o=function(e,n){for(var t=[],i=[],a=0,r=!1,s=!1;a<n.length&&e.index<e.lines.length;){var o=e.lines[e.index],l=n[a];if("+"===l[0])break;if(r=r||" "!==o[0],i.push(l),a++,"+"===o[0])for(s=!0;"+"===o[0];)t.push(o),o=e.lines[++e.index];l.substr(1)===o.substr(1)?(t.push(o),e.index++):s=!0}if("+"===(n[a]||"")[0]&&r&&(s=!0),s)return t;for(;a<n.length;)i.push(n[a++]);return{merged:i,changes:t}}(t,r);o.merged?(a=e.lines).push.apply(a,s(o.merged)):E(e,i?o:r,i?r:o)}function E(e,n,t){e.conflict=!0,e.lines.push({conflict:!0,mine:n,theirs:t})}function h(e,n,t){for(;n.offset<t.offset&&n.index<n.lines.length;){var i=n.lines[n.index++];e.lines.push(i),n.offset++}}function _(e,n){for(;n.index<n.lines.length;){var t=n.lines[n.index++];e.lines.push(t)}}function N(e){for(var n=[],t=e.lines[e.index][0];e.index<e.lines.length;){var i=e.lines[e.index];if("-"===t&&"+"===i[0]&&(t="+"),t!==i[0])break;n.push(i),e.index++}return n}function T(e){return e.reduce((function(e,n){return e&&"-"===n[0]}),!0)}function O(e,n,t){for(var i=0;i<t;i++){var a=n[n.length-t+i].substr(1);if(e.lines[e.index+i]!==" "+a)return!1}return e.index+=t,!0}function v(e){var n=0,t=0;return e.forEach((function(e){if("string"!=typeof e){var i=v(e.mine),a=v(e.theirs);void 0!==n&&(i.oldLines===a.oldLines?n+=i.oldLines:n=void 0),void 0!==t&&(i.newLines===a.newLines?t+=i.newLines:t=void 0)}else void 0===t||"+"!==e[0]&&" "!==e[0]||t++,void 0===n||"-"!==e[0]&&" "!==e[0]||n++})),{oldLines:n,newLines:t}}},3719:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.parsePatch=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.split(/\r\n|[\n\v\f\r\x85]/),i=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],a=[],r=0;function s(){var e={};for(a.push(e);r<t.length;){var i=t[r];if(/^(\-\-\-|\+\+\+|@@)\s/.test(i))break;var s=/^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(i);s&&(e.index=s[1]),r++}for(o(e),o(e),e.hunks=[];r<t.length;){var c=t[r];if(/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(c))break;if(/^@@/.test(c))e.hunks.push(l());else{if(c&&n.strict)throw new Error("Unknown line "+(r+1)+" "+JSON.stringify(c));r++}}}function o(e){var n=/^(---|\+\+\+)\s+(.*)$/.exec(t[r]);if(n){var i="---"===n[1]?"old":"new",a=n[2].split("\t",2),s=a[0].replace(/\\\\/g,"\\");/^".*"$/.test(s)&&(s=s.substr(1,s.length-2)),e[i+"FileName"]=s,e[i+"Header"]=(a[1]||"").trim(),r++}}function l(){var e=r,a=t[r++].split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),s={oldStart:+a[1],oldLines:void 0===a[2]?1:+a[2],newStart:+a[3],newLines:void 0===a[4]?1:+a[4],lines:[],linedelimiters:[]};0===s.oldLines&&(s.oldStart+=1),0===s.newLines&&(s.newStart+=1);for(var o=0,l=0;r<t.length&&!(0===t[r].indexOf("--- ")&&r+2<t.length&&0===t[r+1].indexOf("+++ ")&&0===t[r+2].indexOf("@@"));r++){var c=0==t[r].length&&r!=t.length-1?" ":t[r][0];if("+"!==c&&"-"!==c&&" "!==c&&"\\"!==c)break;s.lines.push(t[r]),s.linedelimiters.push(i[r]||"\n"),"+"===c?o++:"-"===c?l++:" "===c&&(o++,l++)}if(o||1!==s.newLines||(s.newLines=0),l||1!==s.oldLines||(s.oldLines=0),n.strict){if(o!==s.newLines)throw new Error("Added line count did not match for hunk at line "+(e+1));if(l!==s.oldLines)throw new Error("Removed line count did not match for hunk at line "+(e+1))}return s}for(;r<t.length;)s();return a}},7780:(e,n)=>{"use strict";function t(e,n){if(n.length>e.length)return!1;for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}Object.defineProperty(n,"__esModule",{value:!0}),n.arrayEqual=function(e,n){return e.length===n.length&&t(e,n)},n.arrayStartsWith=t},8169:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){var i=!0,a=!1,r=!1,s=1;return function o(){if(i&&!r){if(a?s++:i=!1,e+s<=t)return s;r=!0}if(!a)return r||(i=!0),n<=e-s?-s++:(a=!0,o())}}},8009:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.generateOptions=function(e,n){if("function"==typeof e)n.callback=e;else if(e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}},9397:(e,n)=>{!function(e){var n=/\S/,t=/\"/g,i=/\n/g,a=/\r/g,r=/\\/g,s=/\u2028/,o=/\u2029/;function l(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function c(e,n,t){if(n.charAt(t)!=e.charAt(0))return!1;for(var i=1,a=e.length;i<a;i++)if(n.charAt(t+i)!=e.charAt(i))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(t,i){var a,r=t.length,s=0,o=null,d=null,u="",g=[],b=!1,p=0,f=0,m="{{",E="}}";function h(){u.length>0&&(g.push({tag:"_t",text:new String(u)}),u="")}function _(t,i){if(h(),t&&function(){for(var t=!0,i=f;i<g.length;i++)if(!(t=e.tags[g[i].tag]<e.tags._v||"_t"==g[i].tag&&null===g[i].text.match(n)))return!1;return t}())for(var a,r=f;r<g.length;r++)g[r].text&&((a=g[r+1])&&">"==a.tag&&(a.indent=g[r].text.toString()),g.splice(r,1));else i||g.push({tag:"\n"});b=!1,f=g.length}function N(e,n){var t="="+E,i=e.indexOf(t,n),a=l(e.substring(e.indexOf("=",n)+1,i)).split(" ");return m=a[0],E=a[a.length-1],i+t.length-1}for(i&&(i=i.split(" "),m=i[0],E=i[1]),p=0;p<r;p++)0==s?c(m,t,p)?(--p,h(),s=1):"\n"==t.charAt(p)?_(b):u+=t.charAt(p):1==s?(p+=m.length-1,"="==(o=(d=e.tags[t.charAt(p+1)])?t.charAt(p+1):"_v")?(p=N(t,p),s=0):(d&&p++,s=2),b=p):c(E,t,p)?(g.push({tag:o,n:l(u),otag:m,ctag:E,i:"/"==o?b-m.length:p+E.length}),u="",p+=E.length-1,s=0,"{"==o&&("}}"==E?p++:"}"===(a=g[g.length-1]).n.substr(a.n.length-1)&&(a.n=a.n.substring(0,a.n.length-1)))):u+=t.charAt(p);return _(b,!0),g};var d={_t:!0,"\n":!0,$:!0,"/":!0};function u(n,t,i,a){var r,s=[],o=null,l=null;for(r=i[i.length-1];n.length>0;){if(l=n.shift(),r&&"<"==r.tag&&!(l.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[l.tag]<=e.tags.$||g(l,a))i.push(l),l.nodes=u(n,l.tag,i,a);else{if("/"==l.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+l.n);if(o=i.pop(),l.n!=o.n&&!b(l.n,o.n,a))throw new Error("Nesting error: "+o.n+" vs. "+l.n);return o.end=l.i,s}"\n"==l.tag&&(l.last=0==n.length||"\n"==n[0].tag)}s.push(l)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return s}function g(e,n){for(var t=0,i=n.length;t<i;t++)if(n[t].o==e.n)return e.tag="#",!0}function b(e,n,t){for(var i=0,a=t.length;i<a;i++)if(t[i].c==e&&t[i].o==n)return!0}function p(e){var n=[];for(var t in e.partials)n.push('"'+m(t)+'":{name:"'+m(e.partials[t].name)+'", '+p(e.partials[t])+"}");return"partials: {"+n.join(",")+"}, subs: "+function(e){var n=[];for(var t in e)n.push('"'+m(t)+'": function(c,p,t,i) {'+e[t]+"}");return"{ "+n.join(",")+" }"}(e.subs)}e.stringify=function(n,t,i){return"{code: function (c,p,i) { "+e.wrapMain(n.code)+" },"+p(n)+"}"};var f=0;function m(e){return e.replace(r,"\\\\").replace(t,'\\"').replace(i,"\\n").replace(a,"\\r").replace(s,"\\u2028").replace(o,"\\u2029")}function E(e){return~e.indexOf(".")?"d":"f"}function h(e,n){var t="<"+(n.prefix||"")+e.n+f++;return n.partials[t]={name:e.n,partials:{}},n.code+='t.b(t.rp("'+m(t)+'",c,p,"'+(e.indent||"")+'"));',t}function _(e,n){n.code+="t.b(t.t(t."+E(e.n)+'("'+m(e.n)+'",c,p,0)));'}function N(e){return"t.b("+e+");"}e.generate=function(n,t,i){f=0;var a={code:"",subs:{},partials:{}};return e.walk(n,a),i.asString?this.stringify(a,t,i):this.makeTemplate(a,t,i)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,n,t){var i=this.makePartials(e);return i.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(i,n,this,t)},e.makePartials=function(e){var n,t={subs:{},partials:e.partials,name:e.name};for(n in t.partials)t.partials[n]=this.makePartials(t.partials[n]);for(n in e.subs)t.subs[n]=new Function("c","p","t","i",e.subs[n]);return t},e.codegen={"#":function(n,t){t.code+="if(t.s(t."+E(n.n)+'("'+m(n.n)+'",c,p,1),c,p,0,'+n.i+","+n.end+',"'+n.otag+" "+n.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(n.nodes,t),t.code+="});c.pop();}"},"^":function(n,t){t.code+="if(!t.s(t."+E(n.n)+'("'+m(n.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(n.nodes,t),t.code+="};"},">":h,"<":function(n,t){var i={partials:{},code:"",subs:{},inPartial:!0};e.walk(n.nodes,i);var a=t.partials[h(n,t)];a.subs=i.subs,a.partials=i.partials},$:function(n,t){var i={subs:{},code:"",partials:t.partials,prefix:n.n};e.walk(n.nodes,i),t.subs[n.n]=i.code,t.inPartial||(t.code+='t.sub("'+m(n.n)+'",c,p,i);')},"\n":function(e,n){n.code+=N('"\\n"'+(e.last?"":" + i"))},_v:function(e,n){n.code+="t.b(t.v(t."+E(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,n){n.code+=N('"'+m(e.text)+'"')},"{":_,"&":_},e.walk=function(n,t){for(var i,a=0,r=n.length;a<r;a++)(i=e.codegen[n[a].tag])&&i(n[a],t);return t},e.parse=function(e,n,t){return u(e,0,[],(t=t||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,n){return[e,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},e.compile=function(n,t){t=t||{};var i=e.cacheKey(n,t),a=this.cache[i];if(a){var r=a.partials;for(var s in r)delete r[s].instance;return a}return a=this.generate(this.parse(this.scan(n,t.delimiters),n,t),n,t),this.cache[i]=a}}(n)},5485:(e,n,t)=>{var i=t(9397);i.Template=t(2882).Template,i.template=i.Template,e.exports=i},2882:(e,n)=>{!function(e){function n(e,n,t){var i;return n&&"object"==typeof n&&(void 0!==n[e]?i=n[e]:t&&n.get&&"function"==typeof n.get&&(i=n.get(e))),i}e.Template=function(e,n,t,i){e=e||{},this.r=e.code||this.r,this.c=t,this.options=i||{},this.text=n||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,n,t){return""},v:function(e){return e=l(e),o.test(e)?e.replace(t,"&amp;").replace(i,"&lt;").replace(a,"&gt;").replace(r,"&#39;").replace(s,"&quot;"):e},t:l,render:function(e,n,t){return this.ri([e],n||{},t)},ri:function(e,n,t){return this.r(e,n,t)},ep:function(e,n){var t=this.partials[e],i=n[t.name];if(t.instance&&t.base==i)return t.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,t.subs){for(key in n.stackText||(n.stackText={}),t.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);i=function(e,n,t,i,a,r){function s(){}function o(){}var l;s.prototype=e,o.prototype=e.subs;var c=new s;for(l in c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=r,n)i[l]||(i[l]=n[l]);for(l in i)c.subs[l]=i[l];for(l in a=a||{},c.stackPartials=a,t)a[l]||(a[l]=t[l]);for(l in a)c.partials[l]=a[l];return c}(i,t.subs,t.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[e].instance=i,i},rp:function(e,n,t,i){var a=this.ep(e,t);return a?a.ri(n,t,i):""},rs:function(e,n,t){var i=e[e.length-1];if(c(i))for(var a=0;a<i.length;a++)e.push(i[a]),t(e,n,this),e.pop();else t(e,n,this)},s:function(e,n,t,i,a,r,s){var o;return(!c(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,n,t,i,a,r,s)),o=!!e,!i&&o&&n&&n.push("object"==typeof e?e:n[n.length-1]),o)},d:function(e,t,i,a){var r,s=e.split("."),o=this.f(s[0],t,i,a),l=this.options.modelGet,d=null;if("."===e&&c(t[t.length-2]))o=t[t.length-1];else for(var u=1;u<s.length;u++)void 0!==(r=n(s[u],o,l))?(d=o,o=r):o="";return!(a&&!o)&&(a||"function"!=typeof o||(t.push(d),o=this.mv(o,t,i),t.pop()),o)},f:function(e,t,i,a){for(var r=!1,s=!1,o=this.options.modelGet,l=t.length-1;l>=0;l--)if(void 0!==(r=n(e,t[l],o))){s=!0;break}return s?(a||"function"!=typeof r||(r=this.mv(r,t,i)),r):!a&&""},ls:function(e,n,t,i,a){var r=this.options.delimiters;return this.options.delimiters=a,this.b(this.ct(l(e.call(n,i)),n,t)),this.options.delimiters=r,!1},ct:function(e,n,t){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(n,t)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,n,t,i,a,r,s){var o,l=n[n.length-1],c=e.call(l);return"function"==typeof c?!!i||(o=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,l,t,o.substring(a,r),s)):c},mv:function(e,n,t){var i=n[n.length-1],a=e.call(i);return"function"==typeof a?this.ct(l(a.call(i)),i,t):a},sub:function(e,n,t,i){var a=this.subs[e];a&&(this.activeSub=e,a(n,t,this,i),this.activeSub=!1)}};var t=/&/g,i=/</g,a=/>/g,r=/\'/g,s=/\"/g,o=/[&<>\"\']/;function l(e){return String(null==e?"":e)}var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(n)},8468:function(e,n,t){"use strict";var i=this&&this.__spreadArray||function(e,n,t){if(t||2===arguments.length)for(var i,a=0,r=n.length;a<r;a++)!i&&a in n||(i||(i=Array.prototype.slice.call(n,0,a)),i[a]=n[a]);return e.concat(i||Array.prototype.slice.call(n))};Object.defineProperty(n,"__esModule",{value:!0}),n.parse=void 0;var a=t(9699),r=t(8593);function s(e,n){var t=e.split(".");return t.length>1?t[t.length-1]:n}function o(e,n){return n.reduce((function(n,t){return n||e.startsWith(t)}),!1)}var l=["a/","b/","i/","w/","c/","o/"];function c(e,n,t){var a=void 0!==t?i(i([],l,!0),[t],!1):l,s=((n?new RegExp("^".concat((0,r.escapeForRegExp)(n),' "?(.+?)"?$')):new RegExp('^"?(.+?)"?$')).exec(e)||[])[1],o=void 0===s?"":s,c=a.find((function(e){return 0===o.indexOf(e)}));return(c?o.slice(c.length):o).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}n.parse=function(e,n){void 0===n&&(n={});var t=[],i=null,r=null,l=null,d=null,u=null,g=null,b=null,p="--- ",f="+++ ",m="@@",E=/^old mode (\d{6})/,h=/^new mode (\d{6})/,_=/^deleted file mode (\d{6})/,N=/^new file mode (\d{6})/,T=/^copy from "?(.+)"?/,O=/^copy to "?(.+)"?/,v=/^rename from "?(.+)"?/,A=/^rename to "?(.+)"?/,y=/^similarity index (\d+)%/,S=/^dissimilarity index (\d+)%/,R=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,w=/^Binary files (.*) and (.*) differ/,I=/^GIT binary patch/,C=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,L=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,M=/^new file mode (\d{6})/,D=/^deleted file mode (\d{6}),(\d{6})/,x=e.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,"\n").split("\n");function k(){null!==r&&null!==i&&(i.blocks.push(r),r=null)}function P(){null!==i&&(i.oldName||null===g||(i.oldName=g),i.newName||null===b||(i.newName=b),i.newName&&(t.push(i),i=null)),g=null,b=null}function U(){k(),P(),i={blocks:[],deletedLines:0,addedLines:0}}function B(e){var n;k(),null!==i&&((n=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(i.isCombined=!1,l=parseInt(n[1],10),u=parseInt(n[2],10)):(n=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(i.isCombined=!0,l=parseInt(n[1],10),d=parseInt(n[2],10),u=parseInt(n[3],10)):(e.startsWith(m)&&console.error("Failed to parse lines, starting in 0!"),l=0,u=0,i.isCombined=!1)),r={lines:[],oldStartLine:l,oldStartLine2:d,newStartLine:u,header:e}}return x.forEach((function(e,d){if(e&&!e.startsWith("*")){var k,P=x[d-1],F=x[d+1],j=x[d+2];if(e.startsWith("diff")){if(U(),(k=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(g=c(k[1],void 0,n.dstPrefix),b=c(k[2],void 0,n.srcPrefix)),null===i)throw new Error("Where is my file !!!");i.isGitDiff=!0}else if((!i||!i.isGitDiff&&i&&e.startsWith(p)&&F.startsWith(f)&&j.startsWith(m))&&U(),!(null==i?void 0:i.isTooBig)){if(i&&("number"==typeof n.diffMaxChanges&&i.addedLines+i.deletedLines>n.diffMaxChanges||"number"==typeof n.diffMaxLineLength&&e.length>n.diffMaxLineLength))return i.isTooBig=!0,i.addedLines=0,i.deletedLines=0,i.blocks=[],r=null,void B("function"==typeof n.diffTooBigMessage?n.diffTooBigMessage(t.length):"Diff too big to be displayed");if(e.startsWith(p)&&F.startsWith(f)||e.startsWith(f)&&P.startsWith(p)){if(i&&!i.oldName&&e.startsWith("--- ")&&(k=function(e,n){return c(e,"---",n)}(e,n.srcPrefix)))return i.oldName=k,void(i.language=s(i.oldName,i.language));if(i&&!i.newName&&e.startsWith("+++ ")&&(k=function(e,n){return c(e,"+++",n)}(e,n.dstPrefix)))return i.newName=k,void(i.language=s(i.newName,i.language))}if(i&&(e.startsWith(m)||i.isGitDiff&&i.oldName&&i.newName&&!r))B(e);else if(r&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))!function(e){if(null!==i&&null!==r&&null!==l&&null!==u){var n={content:e},t=i.isCombined?["+ "," +","++"]:["+"],s=i.isCombined?["- "," -","--"]:["-"];o(e,t)?(i.addedLines++,n.type=a.LineType.INSERT,n.oldNumber=void 0,n.newNumber=u++):o(e,s)?(i.deletedLines++,n.type=a.LineType.DELETE,n.oldNumber=l++,n.newNumber=void 0):(n.type=a.LineType.CONTEXT,n.oldNumber=l++,n.newNumber=u++),r.lines.push(n)}}(e);else{var H=!function(e,n){for(var t=n;t<x.length-3;){if(e.startsWith("diff"))return!1;if(x[t].startsWith(p)&&x[t+1].startsWith(f)&&x[t+2].startsWith(m))return!0;t++}return!1}(e,d);if(null===i)throw new Error("Where is my file !!!");(k=E.exec(e))?i.oldMode=k[1]:(k=h.exec(e))?i.newMode=k[1]:(k=_.exec(e))?(i.deletedFileMode=k[1],i.isDeleted=!0):(k=N.exec(e))?(i.newFileMode=k[1],i.isNew=!0):(k=T.exec(e))?(H&&(i.oldName=k[1]),i.isCopy=!0):(k=O.exec(e))?(H&&(i.newName=k[1]),i.isCopy=!0):(k=v.exec(e))?(H&&(i.oldName=k[1]),i.isRename=!0):(k=A.exec(e))?(H&&(i.newName=k[1]),i.isRename=!0):(k=w.exec(e))?(i.isBinary=!0,i.oldName=c(k[1],void 0,n.srcPrefix),i.newName=c(k[2],void 0,n.dstPrefix),B("Binary file")):I.test(e)?(i.isBinary=!0,B(e)):(k=y.exec(e))?i.unchangedPercentage=parseInt(k[1],10):(k=S.exec(e))?i.changedPercentage=parseInt(k[1],10):(k=R.exec(e))?(i.checksumBefore=k[1],i.checksumAfter=k[2],k[3]&&(i.mode=k[3])):(k=C.exec(e))?(i.checksumBefore=[k[2],k[3]],i.checksumAfter=k[1]):(k=L.exec(e))?(i.oldMode=[k[2],k[3]],i.newMode=k[1]):(k=M.exec(e))?(i.newFileMode=k[1],i.isNew=!0):(k=D.exec(e))&&(i.deletedFileMode=k[1],i.isDeleted=!0)}}}})),k(),P(),t}},979:function(e,n,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),a=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&i(n,e,t);return a(n,e),n};Object.defineProperty(n,"__esModule",{value:!0}),n.defaultTemplates=void 0;var s=r(t(5485));n.defaultTemplates={},n.defaultTemplates["file-summary-line"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<li class="d2h-file-list-line">'),i.b("\n"+t),i.b('    <span class="d2h-file-name-wrapper">'),i.b("\n"+t),i.b(i.rp("<fileIcon0",e,n,"      ")),i.b('      <a href="#'),i.b(i.v(i.f("fileHtmlId",e,n,0))),i.b('" class="d2h-file-name">'),i.b(i.v(i.f("fileName",e,n,0))),i.b("</a>"),i.b("\n"+t),i.b('      <span class="d2h-file-stats">'),i.b("\n"+t),i.b('          <span class="d2h-lines-added">'),i.b(i.v(i.f("addedLines",e,n,0))),i.b("</span>"),i.b("\n"+t),i.b('          <span class="d2h-lines-deleted">'),i.b(i.v(i.f("deletedLines",e,n,0))),i.b("</span>"),i.b("\n"+t),i.b("      </span>"),i.b("\n"+t),i.b("    </span>"),i.b("\n"+t),i.b("</li>"),i.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}}),n.defaultTemplates["file-summary-wrapper"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<div class="d2h-file-list-wrapper">'),i.b("\n"+t),i.b('    <div class="d2h-file-list-header">'),i.b("\n"+t),i.b('        <span class="d2h-file-list-title">Files changed ('),i.b(i.v(i.f("filesNumber",e,n,0))),i.b(")</span>"),i.b("\n"+t),i.b('        <a class="d2h-file-switch d2h-hide">hide</a>'),i.b("\n"+t),i.b('        <a class="d2h-file-switch d2h-show">show</a>'),i.b("\n"+t),i.b("    </div>"),i.b("\n"+t),i.b('    <ol class="d2h-file-list">'),i.b("\n"+t),i.b("    "),i.b(i.t(i.f("files",e,n,0))),i.b("\n"+t),i.b("    </ol>"),i.b("\n"+t),i.b("</div>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["generic-block-header"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b("<tr>"),i.b("\n"+t),i.b('    <td class="'),i.b(i.v(i.f("lineClass",e,n,0))),i.b(" "),i.b(i.v(i.d("CSSLineClass.INFO",e,n,0))),i.b('"></td>'),i.b("\n"+t),i.b('    <td class="'),i.b(i.v(i.d("CSSLineClass.INFO",e,n,0))),i.b('">'),i.b("\n"+t),i.b('        <div class="'),i.b(i.v(i.f("contentClass",e,n,0))),i.b('">'),i.b(i.t(i.f("blockHeader",e,n,0))),i.b("</div>"),i.b("\n"+t),i.b("    </td>"),i.b("\n"+t),i.b("</tr>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["generic-empty-diff"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b("<tr>"),i.b("\n"+t),i.b('    <td class="'),i.b(i.v(i.d("CSSLineClass.INFO",e,n,0))),i.b('">'),i.b("\n"+t),i.b('        <div class="'),i.b(i.v(i.f("contentClass",e,n,0))),i.b('">'),i.b("\n"+t),i.b("            File without changes"),i.b("\n"+t),i.b("        </div>"),i.b("\n"+t),i.b("    </td>"),i.b("\n"+t),i.b("</tr>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["generic-file-path"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<span class="d2h-file-name-wrapper">'),i.b("\n"+t),i.b(i.rp("<fileIcon0",e,n,"    ")),i.b('    <span class="d2h-file-name">'),i.b(i.v(i.f("fileDiffName",e,n,0))),i.b("</span>"),i.b("\n"+t),i.b(i.rp("<fileTag1",e,n,"    ")),i.b("</span>"),i.b("\n"+t),i.b('<label class="d2h-file-collapse">'),i.b("\n"+t),i.b('    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),i.b("\n"+t),i.b("    Viewed"),i.b("\n"+t),i.b("</label>"),i.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}}),n.defaultTemplates["generic-line"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b("<tr>"),i.b("\n"+t),i.b('    <td class="'),i.b(i.v(i.f("lineClass",e,n,0))),i.b(" "),i.b(i.v(i.f("type",e,n,0))),i.b('">'),i.b("\n"+t),i.b("      "),i.b(i.t(i.f("lineNumber",e,n,0))),i.b("\n"+t),i.b("    </td>"),i.b("\n"+t),i.b('    <td class="'),i.b(i.v(i.f("type",e,n,0))),i.b('">'),i.b("\n"+t),i.b('        <div class="'),i.b(i.v(i.f("contentClass",e,n,0))),i.b('">'),i.b("\n"+t),i.s(i.f("prefix",e,n,1),e,n,0,162,238,"{{ }}")&&(i.rs(e,n,(function(e,n,i){i.b('            <span class="d2h-code-line-prefix">'),i.b(i.t(i.f("prefix",e,n,0))),i.b("</span>"),i.b("\n"+t)})),e.pop()),i.s(i.f("prefix",e,n,1),e,n,1,0,0,"")||(i.b('            <span class="d2h-code-line-prefix">&nbsp;</span>'),i.b("\n"+t)),i.s(i.f("content",e,n,1),e,n,0,371,445,"{{ }}")&&(i.rs(e,n,(function(e,n,i){i.b('            <span class="d2h-code-line-ctn">'),i.b(i.t(i.f("content",e,n,0))),i.b("</span>"),i.b("\n"+t)})),e.pop()),i.s(i.f("content",e,n,1),e,n,1,0,0,"")||(i.b('            <span class="d2h-code-line-ctn"><br></span>'),i.b("\n"+t)),i.b("        </div>"),i.b("\n"+t),i.b("    </td>"),i.b("\n"+t),i.b("</tr>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["generic-wrapper"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<div class="d2h-wrapper">'),i.b("\n"+t),i.b("    "),i.b(i.t(i.f("content",e,n,0))),i.b("\n"+t),i.b("</div>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["icon-file-added"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),i.b("\n"+t),i.b('     width="14">'),i.b("\n"+t),i.b('    <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),i.b("\n"+t),i.b("</svg>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["icon-file-changed"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),i.b("\n"+t),i.b('     viewBox="0 0 14 16" width="14">'),i.b("\n"+t),i.b('    <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),i.b("\n"+t),i.b("</svg>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["icon-file-deleted"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),i.b("\n"+t),i.b('     viewBox="0 0 14 16" width="14">'),i.b("\n"+t),i.b('    <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),i.b("\n"+t),i.b("</svg>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["icon-file-renamed"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),i.b("\n"+t),i.b('     viewBox="0 0 14 16" width="14">'),i.b("\n"+t),i.b('    <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),i.b("\n"+t),i.b("</svg>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["icon-file"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),i.b("\n"+t),i.b('    <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),i.b("\n"+t),i.b("</svg>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["line-by-line-file-diff"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<div id="'),i.b(i.v(i.f("fileHtmlId",e,n,0))),i.b('" class="d2h-file-wrapper" data-lang="'),i.b(i.v(i.d("file.language",e,n,0))),i.b('">'),i.b("\n"+t),i.b('    <div class="d2h-file-header">'),i.b("\n"+t),i.b("    "),i.b(i.t(i.f("filePath",e,n,0))),i.b("\n"+t),i.b("    </div>"),i.b("\n"+t),i.b('    <div class="d2h-file-diff">'),i.b("\n"+t),i.b('        <div class="d2h-code-wrapper">'),i.b("\n"+t),i.b('            <table class="d2h-diff-table">'),i.b("\n"+t),i.b('                <tbody class="d2h-diff-tbody">'),i.b("\n"+t),i.b("                "),i.b(i.t(i.f("diffs",e,n,0))),i.b("\n"+t),i.b("                </tbody>"),i.b("\n"+t),i.b("            </table>"),i.b("\n"+t),i.b("        </div>"),i.b("\n"+t),i.b("    </div>"),i.b("\n"+t),i.b("</div>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["line-by-line-numbers"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<div class="line-num1">'),i.b(i.v(i.f("oldNumber",e,n,0))),i.b("</div>"),i.b("\n"+t),i.b('<div class="line-num2">'),i.b(i.v(i.f("newNumber",e,n,0))),i.b("</div>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["side-by-side-file-diff"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<div id="'),i.b(i.v(i.f("fileHtmlId",e,n,0))),i.b('" class="d2h-file-wrapper" data-lang="'),i.b(i.v(i.d("file.language",e,n,0))),i.b('">'),i.b("\n"+t),i.b('    <div class="d2h-file-header">'),i.b("\n"+t),i.b("      "),i.b(i.t(i.f("filePath",e,n,0))),i.b("\n"+t),i.b("    </div>"),i.b("\n"+t),i.b('    <div class="d2h-files-diff">'),i.b("\n"+t),i.b('        <div class="d2h-file-side-diff">'),i.b("\n"+t),i.b('            <div class="d2h-code-wrapper">'),i.b("\n"+t),i.b('                <table class="d2h-diff-table">'),i.b("\n"+t),i.b('                    <tbody class="d2h-diff-tbody">'),i.b("\n"+t),i.b("                    "),i.b(i.t(i.d("diffs.left",e,n,0))),i.b("\n"+t),i.b("                    </tbody>"),i.b("\n"+t),i.b("                </table>"),i.b("\n"+t),i.b("            </div>"),i.b("\n"+t),i.b("        </div>"),i.b("\n"+t),i.b('        <div class="d2h-file-side-diff">'),i.b("\n"+t),i.b('            <div class="d2h-code-wrapper">'),i.b("\n"+t),i.b('                <table class="d2h-diff-table">'),i.b("\n"+t),i.b('                    <tbody class="d2h-diff-tbody">'),i.b("\n"+t),i.b("                    "),i.b(i.t(i.d("diffs.right",e,n,0))),i.b("\n"+t),i.b("                    </tbody>"),i.b("\n"+t),i.b("                </table>"),i.b("\n"+t),i.b("            </div>"),i.b("\n"+t),i.b("        </div>"),i.b("\n"+t),i.b("    </div>"),i.b("\n"+t),i.b("</div>"),i.fl()},partials:{},subs:{}}),n.defaultTemplates["tag-file-added"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),i.fl()},partials:{},subs:{}}),n.defaultTemplates["tag-file-changed"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),i.fl()},partials:{},subs:{}}),n.defaultTemplates["tag-file-deleted"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),i.fl()},partials:{},subs:{}}),n.defaultTemplates["tag-file-renamed"]=new s.Template({code:function(e,n,t){var i=this;return i.b(t=t||""),i.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),i.fl()},partials:{},subs:{}})},6834:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&a(n,e,t);return r(n,e),n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.html=n.parse=n.defaultDiff2HtmlConfig=void 0;var l=s(t(8468)),c=s(t(3479)),d=s(t(2378)),u=s(t(170)),g=t(9699),b=o(t(4063));n.defaultDiff2HtmlConfig=i(i(i({},d.defaultLineByLineRendererConfig),u.defaultSideBySideRendererConfig),{outputFormat:g.OutputFormatType.LINE_BY_LINE,drawFileList:!0}),n.parse=function(e,t){return void 0===t&&(t={}),l.parse(e,i(i({},n.defaultDiff2HtmlConfig),t))},n.html=function(e,t){void 0===t&&(t={});var a=i(i({},n.defaultDiff2HtmlConfig),t),r="string"==typeof e?l.parse(e,a):e,s=new b.default(a);return(a.drawFileList?c.render(r,s):"")+("side-by-side"===a.outputFormat?new u.default(s,a).render(r):new d.default(s,a).render(r))}},3479:function(e,n,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),a=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&i(n,e,t);return a(n,e),n};Object.defineProperty(n,"__esModule",{value:!0}),n.render=void 0;var s=r(t(5741)),o="file-summary";n.render=function(e,n){var t=e.map((function(e){return n.render(o,"line",{fileHtmlId:s.getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:s.filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:n.template("icon",s.getFileIcon(e))})})).join("\n");return n.render(o,"wrapper",{filesNumber:e.length,files:t})}},4063:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&a(n,e,t);return r(n,e),n};Object.defineProperty(n,"__esModule",{value:!0});var o=s(t(5485)),l=t(979),c=function(){function e(e){var n=e.compiledTemplates,t=void 0===n?{}:n,a=e.rawTemplates,r=void 0===a?{}:a,s=Object.entries(r).reduce((function(e,n){var t,a=n[0],r=n[1],s=o.compile(r,{asString:!1});return i(i({},e),((t={})[a]=s,t))}),{});this.preCompiledTemplates=i(i(i({},l.defaultTemplates),t),s)}return e.compile=function(e){return o.compile(e,{asString:!1})},e.prototype.render=function(e,n,t,i,a){var r=this.templateKey(e,n);try{return this.preCompiledTemplates[r].render(t,i,a)}catch(e){throw new Error("Could not find template to render '".concat(r,"'"))}},e.prototype.template=function(e,n){return this.preCompiledTemplates[this.templateKey(e,n)]},e.prototype.templateKey=function(e,n){return"".concat(e,"-").concat(n)},e}();n.default=c},2378:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&a(n,e,t);return r(n,e),n};Object.defineProperty(n,"__esModule",{value:!0}),n.defaultLineByLineRendererConfig=void 0;var o=s(t(1483)),l=s(t(5741)),c=t(9699);n.defaultLineByLineRendererConfig=i(i({},l.defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200});var d="generic",u="line-by-line",g=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=i(i({},n.defaultLineByLineRendererConfig),t)}return e.prototype.render=function(e){var n=this,t=e.map((function(e){var t;return t=e.blocks.length?n.generateFileHtml(e):n.generateEmptyDiff(),n.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(d,"wrapper",{content:t})},e.prototype.makeFileDiffHtml=function(e,n){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var t=this.hoganUtils.template(u,"file-diff"),i=this.hoganUtils.template(d,"file-path"),a=this.hoganUtils.template("icon","file"),r=this.hoganUtils.template("tag",l.getFileIcon(e));return t.render({file:e,fileHtmlId:l.getHtmlId(e),diffs:n,filePath:i.render({fileDiffName:l.filenameDiff(e)},{fileIcon:a,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return this.hoganUtils.render(d,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:l.CSSLineClass})},e.prototype.generateFileHtml=function(e){var n=this,t=o.newMatcherFn(o.newDistanceFn((function(n){return l.deconstructLine(n.content,e.isCombined).content})));return e.blocks.map((function(i){var a=n.hoganUtils.render(d,"block-header",{CSSLineClass:l.CSSLineClass,blockHeader:e.isTooBig?i.header:l.escapeForHtml(i.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return n.applyLineGroupping(i).forEach((function(i){var r=i[0],s=i[1],o=i[2];if(s.length&&o.length&&!r.length)n.applyRematchMatching(s,o,t).map((function(t){var i=t[0],r=t[1],s=n.processChangedLines(e.isCombined,i,r),o=s.left,l=s.right;a+=o,a+=l}));else if(r.length)r.forEach((function(t){var i=l.deconstructLine(t.content,e.isCombined),r=i.prefix,s=i.content;a+=n.generateSingleLineHtml({type:l.CSSLineClass.CONTEXT,prefix:r,content:s,oldNumber:t.oldNumber,newNumber:t.newNumber})}));else if(s.length||o.length){var c=n.processChangedLines(e.isCombined,s,o),d=c.left,u=c.right;a+=d,a+=u}else console.error("Unknown state reached while processing groups of lines",r,s,o)})),a})).join("\n")},e.prototype.applyLineGroupping=function(e){for(var n=[],t=[],i=[],a=0;a<e.lines.length;a++){var r=e.lines[a];(r.type!==c.LineType.INSERT&&i.length||r.type===c.LineType.CONTEXT&&t.length>0)&&(n.push([[],t,i]),t=[],i=[]),r.type===c.LineType.CONTEXT?n.push([[r],[],[]]):r.type===c.LineType.INSERT&&0===t.length?n.push([[],[],[r]]):r.type===c.LineType.INSERT&&t.length>0?i.push(r):r.type===c.LineType.DELETE&&t.push(r)}return(t.length||i.length)&&(n.push([[],t,i]),t=[],i=[]),n},e.prototype.applyRematchMatching=function(e,n,t){var i=e.length*n.length,a=Math.max.apply(null,[0].concat(e.concat(n).map((function(e){return e.content.length}))));return i<this.config.matchingMaxComparisons&&a<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?t(e,n):[[e,n]]},e.prototype.processChangedLines=function(e,n,t){for(var a={right:"",left:""},r=Math.max(n.length,t.length),s=0;s<r;s++){var o=n[s],c=t[s],d=void 0!==o&&void 0!==c?l.diffHighlight(o.content,c.content,e,this.config):void 0,u=void 0!==o&&void 0!==o.oldNumber?i(i({},void 0!==d?{prefix:d.oldLine.prefix,content:d.oldLine.content,type:l.CSSLineClass.DELETE_CHANGES}:i(i({},l.deconstructLine(o.content,e)),{type:l.toCSSClass(o.type)})),{oldNumber:o.oldNumber,newNumber:o.newNumber}):void 0,g=void 0!==c&&void 0!==c.newNumber?i(i({},void 0!==d?{prefix:d.newLine.prefix,content:d.newLine.content,type:l.CSSLineClass.INSERT_CHANGES}:i(i({},l.deconstructLine(c.content,e)),{type:l.toCSSClass(c.type)})),{oldNumber:c.oldNumber,newNumber:c.newNumber}):void 0,b=this.generateLineHtml(u,g),p=b.left,f=b.right;a.left+=p,a.right+=f}return a},e.prototype.generateLineHtml=function(e,n){return{left:this.generateSingleLineHtml(e),right:this.generateSingleLineHtml(n)}},e.prototype.generateSingleLineHtml=function(e){if(void 0===e)return"";var n=this.hoganUtils.render(u,"numbers",{oldNumber:e.oldNumber||"",newNumber:e.newNumber||""});return this.hoganUtils.render(d,"line",{type:e.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===e.prefix?"&nbsp;":e.prefix,content:e.content,lineNumber:n})},e}();n.default=g},1483:(e,n)=>{"use strict";function t(e,n){if(0===e.length)return n.length;if(0===n.length)return e.length;var t,i,a=[];for(t=0;t<=n.length;t++)a[t]=[t];for(i=0;i<=e.length;i++)a[0][i]=i;for(t=1;t<=n.length;t++)for(i=1;i<=e.length;i++)n.charAt(t-1)===e.charAt(i-1)?a[t][i]=a[t-1][i-1]:a[t][i]=Math.min(a[t-1][i-1]+1,Math.min(a[t][i-1]+1,a[t-1][i]+1));return a[n.length][e.length]}Object.defineProperty(n,"__esModule",{value:!0}),n.newMatcherFn=n.newDistanceFn=n.levenshtein=void 0,n.levenshtein=t,n.newDistanceFn=function(e){return function(n,i){var a=e(n).trim(),r=e(i).trim();return t(a,r)/(a.length+r.length)}},n.newMatcherFn=function(e){return function n(t,i,a,r){void 0===a&&(a=0),void 0===r&&(r=new Map);var s=function(n,t,i){void 0===i&&(i=new Map);for(var a,r=1/0,s=0;s<n.length;++s)for(var o=0;o<t.length;++o){var l=JSON.stringify([n[s],t[o]]),c=void 0;i.has(l)&&(c=i.get(l))||(c=e(n[s],t[o]),i.set(l,c)),c<r&&(a={indexA:s,indexB:o,score:r=c})}return a}(t,i,r);if(!s||t.length+i.length<3)return[[t,i]];var o=t.slice(0,s.indexA),l=i.slice(0,s.indexB),c=[t[s.indexA]],d=[i[s.indexB]],u=s.indexA+1,g=s.indexB+1,b=t.slice(u),p=i.slice(g),f=n(o,l,a+1,r),m=n(c,d,a+1,r),E=n(b,p,a+1,r),h=m;return(s.indexA>0||s.indexB>0)&&(h=f.concat(h)),(t.length>u||i.length>g)&&(h=h.concat(E)),h}}},5741:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&a(n,e,t);return r(n,e),n};Object.defineProperty(n,"__esModule",{value:!0}),n.diffHighlight=n.getFileIcon=n.getHtmlId=n.filenameDiff=n.deconstructLine=n.escapeForHtml=n.toCSSClass=n.defaultRenderConfig=n.CSSLineClass=void 0;var o=s(t(9479)),l=t(8593),c=s(t(1483)),d=t(9699);n.CSSLineClass={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},n.defaultRenderConfig={matching:d.LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:d.DiffStyleType.WORD};var u="/",g=c.newDistanceFn((function(e){return e.value})),b=c.newMatcherFn(g);function p(e){return-1!==e.indexOf("dev/null")}function f(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function m(e){return e.slice(0).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")}function E(e,n,t){void 0===t&&(t=!0);var i=function(e){return e?2:1}(n);return{prefix:e.substring(0,i),content:t?m(e.substring(i)):e.substring(i)}}function h(e){var n=(0,l.unifyPath)(e.oldName),t=(0,l.unifyPath)(e.newName);if(n===t||p(n)||p(t))return p(t)?n:t;for(var i=[],a=[],r=n.split(u),s=t.split(u),o=0,c=r.length-1,d=s.length-1;o<c&&o<d&&r[o]===s[o];)i.push(s[o]),o+=1;for(;c>o&&d>o&&r[c]===s[d];)a.unshift(s[d]),c-=1,d-=1;var g=i.join(u),b=a.join(u),f=r.slice(o,c+1).join(u),m=s.slice(o,d+1).join(u);return g.length&&b.length?g+u+"{"+f+" → "+m+"}"+u+b:g.length?g+u+"{"+f+" → "+m+"}":b.length?"{"+f+" → "+m+"}"+u+b:n+" → "+t}n.toCSSClass=function(e){switch(e){case d.LineType.CONTEXT:return n.CSSLineClass.CONTEXT;case d.LineType.INSERT:return n.CSSLineClass.INSERTS;case d.LineType.DELETE:return n.CSSLineClass.DELETES}},n.escapeForHtml=m,n.deconstructLine=E,n.filenameDiff=h,n.getHtmlId=function(e){return"d2h-".concat((0,l.hashCode)(h(e)).toString().slice(-6))},n.getFileIcon=function(e){var n="file-changed";return e.isRename||e.isCopy?n="file-renamed":e.isNew?n="file-added":e.isDeleted?n="file-deleted":e.newName!==e.oldName&&(n="file-renamed"),n},n.diffHighlight=function(e,t,a,r){void 0===r&&(r={});var s=i(i({},n.defaultRenderConfig),r),l=s.matching,c=s.maxLineLengthHighlight,d=s.matchWordsThreshold,u=s.diffStyle,p=E(e,a,!1),h=E(t,a,!1);if(p.content.length>c||h.content.length>c)return{oldLine:{prefix:p.prefix,content:m(p.content)},newLine:{prefix:h.prefix,content:m(h.content)}};var _="char"===u?o.diffChars(p.content,h.content):o.diffWordsWithSpace(p.content,h.content),N=[];if("word"===u&&"words"===l){var T=_.filter((function(e){return e.removed})),O=_.filter((function(e){return e.added}));b(O,T).forEach((function(e){1===e[0].length&&1===e[1].length&&g(e[0][0],e[1][0])<d&&(N.push(e[0][0]),N.push(e[1][0]))}))}var v,A=_.reduce((function(e,n){var t=n.added?"ins":n.removed?"del":null,i=N.indexOf(n)>-1?' class="d2h-change"':"",a=m(n.value);return null!==t?"".concat(e,"<").concat(t).concat(i,">").concat(a,"</").concat(t,">"):"".concat(e).concat(a)}),"");return{oldLine:{prefix:p.prefix,content:(v=A,v.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,""))},newLine:{prefix:h.prefix,content:f(A)}}}},170:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var a=Object.getOwnPropertyDescriptor(n,t);a&&!("get"in a?!n.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,a)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&a(n,e,t);return r(n,e),n};Object.defineProperty(n,"__esModule",{value:!0}),n.defaultSideBySideRendererConfig=void 0;var o=s(t(1483)),l=s(t(5741)),c=t(9699);n.defaultSideBySideRendererConfig=i(i({},l.defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200});var d="generic",u=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=i(i({},n.defaultSideBySideRendererConfig),t)}return e.prototype.render=function(e){var n=this,t=e.map((function(e){var t;return t=e.blocks.length?n.generateFileHtml(e):n.generateEmptyDiff(),n.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(d,"wrapper",{content:t})},e.prototype.makeFileDiffHtml=function(e,n){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var t=this.hoganUtils.template("side-by-side","file-diff"),i=this.hoganUtils.template(d,"file-path"),a=this.hoganUtils.template("icon","file"),r=this.hoganUtils.template("tag",l.getFileIcon(e));return t.render({file:e,fileHtmlId:l.getHtmlId(e),diffs:n,filePath:i.render({fileDiffName:l.filenameDiff(e)},{fileIcon:a,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return{right:"",left:this.hoganUtils.render(d,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:l.CSSLineClass})}},e.prototype.generateFileHtml=function(e){var n=this,t=o.newMatcherFn(o.newDistanceFn((function(n){return l.deconstructLine(n.content,e.isCombined).content})));return e.blocks.map((function(i){var a={left:n.makeHeaderHtml(i.header,e),right:n.makeHeaderHtml("")};return n.applyLineGroupping(i).forEach((function(i){var r=i[0],s=i[1],o=i[2];if(s.length&&o.length&&!r.length)n.applyRematchMatching(s,o,t).map((function(t){var i=t[0],r=t[1],s=n.processChangedLines(e.isCombined,i,r),o=s.left,l=s.right;a.left+=o,a.right+=l}));else if(r.length)r.forEach((function(t){var i=l.deconstructLine(t.content,e.isCombined),r=i.prefix,s=i.content,o=n.generateLineHtml({type:l.CSSLineClass.CONTEXT,prefix:r,content:s,number:t.oldNumber},{type:l.CSSLineClass.CONTEXT,prefix:r,content:s,number:t.newNumber}),c=o.left,d=o.right;a.left+=c,a.right+=d}));else if(s.length||o.length){var c=n.processChangedLines(e.isCombined,s,o),d=c.left,u=c.right;a.left+=d,a.right+=u}else console.error("Unknown state reached while processing groups of lines",r,s,o)})),a})).reduce((function(e,n){return{left:e.left+n.left,right:e.right+n.right}}),{left:"",right:""})},e.prototype.applyLineGroupping=function(e){for(var n=[],t=[],i=[],a=0;a<e.lines.length;a++){var r=e.lines[a];(r.type!==c.LineType.INSERT&&i.length||r.type===c.LineType.CONTEXT&&t.length>0)&&(n.push([[],t,i]),t=[],i=[]),r.type===c.LineType.CONTEXT?n.push([[r],[],[]]):r.type===c.LineType.INSERT&&0===t.length?n.push([[],[],[r]]):r.type===c.LineType.INSERT&&t.length>0?i.push(r):r.type===c.LineType.DELETE&&t.push(r)}return(t.length||i.length)&&(n.push([[],t,i]),t=[],i=[]),n},e.prototype.applyRematchMatching=function(e,n,t){var i=e.length*n.length,a=Math.max.apply(null,[0].concat(e.concat(n).map((function(e){return e.content.length}))));return i<this.config.matchingMaxComparisons&&a<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?t(e,n):[[e,n]]},e.prototype.makeHeaderHtml=function(e,n){return this.hoganUtils.render(d,"block-header",{CSSLineClass:l.CSSLineClass,blockHeader:(null==n?void 0:n.isTooBig)?e:l.escapeForHtml(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})},e.prototype.processChangedLines=function(e,n,t){for(var a={right:"",left:""},r=Math.max(n.length,t.length),s=0;s<r;s++){var o=n[s],c=t[s],d=void 0!==o&&void 0!==c?l.diffHighlight(o.content,c.content,e,this.config):void 0,u=void 0!==o&&void 0!==o.oldNumber?i(i({},void 0!==d?{prefix:d.oldLine.prefix,content:d.oldLine.content,type:l.CSSLineClass.DELETE_CHANGES}:i(i({},l.deconstructLine(o.content,e)),{type:l.toCSSClass(o.type)})),{number:o.oldNumber}):void 0,g=void 0!==c&&void 0!==c.newNumber?i(i({},void 0!==d?{prefix:d.newLine.prefix,content:d.newLine.content,type:l.CSSLineClass.INSERT_CHANGES}:i(i({},l.deconstructLine(c.content,e)),{type:l.toCSSClass(c.type)})),{number:c.newNumber}):void 0,b=this.generateLineHtml(u,g),p=b.left,f=b.right;a.left+=p,a.right+=f}return a},e.prototype.generateLineHtml=function(e,n){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(n)}},e.prototype.generateSingleHtml=function(e){var n="d2h-code-side-linenumber",t="d2h-code-side-line";return this.hoganUtils.render(d,"line",{type:(null==e?void 0:e.type)||"".concat(l.CSSLineClass.CONTEXT," d2h-emptyplaceholder"),lineClass:void 0!==e?n:"".concat(n," d2h-code-side-emptyplaceholder"),contentClass:void 0!==e?t:"".concat(t," d2h-code-side-emptyplaceholder"),prefix:" "===(null==e?void 0:e.prefix)?"&nbsp;":null==e?void 0:e.prefix,content:null==e?void 0:e.content,lineNumber:null==e?void 0:e.number})},e}();n.default=u},9699:(e,n)=>{"use strict";var t;Object.defineProperty(n,"__esModule",{value:!0}),n.DiffStyleType=n.LineMatchingType=n.OutputFormatType=n.LineType=void 0,(t=n.LineType||(n.LineType={})).INSERT="insert",t.DELETE="delete",t.CONTEXT="context",n.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},n.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},n.DiffStyleType={WORD:"word",CHAR:"char"}},4169:function(e,n,t){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e},i.apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0}),n.Diff2HtmlUI=n.defaultDiff2HtmlUIConfig=void 0;var a=t(1529),r=t(6834);n.defaultDiff2HtmlUIConfig=i(i({},r.defaultDiff2HtmlConfig),{synchronisedScroll:!0,highlight:!0,fileListToggle:!0,fileListStartVisible:!1,smartSelection:!0,fileContentToggle:!0});var s=function(){function e(e,t,a,s){void 0===a&&(a={}),this.hljs=null,this.currentSelectionColumnId=-1,this.config=i(i({},n.defaultDiff2HtmlUIConfig),a),this.diffHtml=void 0!==t?(0,r.html)(t,this.config):e.innerHTML,this.targetElement=e,void 0!==s&&(this.hljs=s)}return e.prototype.draw=function(){this.targetElement.innerHTML=this.diffHtml,this.config.synchronisedScroll&&this.synchronisedScroll(),this.config.highlight&&this.highlightCode(),this.config.fileListToggle&&this.fileListToggle(this.config.fileListStartVisible),this.config.fileContentToggle&&this.fileContentToggle()},e.prototype.synchronisedScroll=function(){this.targetElement.querySelectorAll(".d2h-file-wrapper").forEach((function(e){var n=Array().slice.call(e.querySelectorAll(".d2h-file-side-diff")),t=n[0],i=n[1];if(void 0!==t&&void 0!==i){var a=function(e){null!==e&&null!==e.target&&(e.target===t?(i.scrollTop=t.scrollTop,i.scrollLeft=t.scrollLeft):(t.scrollTop=i.scrollTop,t.scrollLeft=i.scrollLeft))};t.addEventListener("scroll",a),i.addEventListener("scroll",a)}}))},e.prototype.fileListToggle=function(e){var n=this.targetElement.querySelector(".d2h-show"),t=this.targetElement.querySelector(".d2h-hide"),i=this.targetElement.querySelector(".d2h-file-list");if(null!==n&&null!==t&&null!==i){var a=function(){n.style.display="none",t.style.display="inline",i.style.display="block"},r=function(){n.style.display="inline",t.style.display="none",i.style.display="none"};n.addEventListener("click",(function(){return a()})),t.addEventListener("click",(function(){return r()}));var s=this.getHashTag();"files-summary-show"===s?a():"files-summary-hide"===s?r():e?a():r()}},e.prototype.fileContentToggle=function(){this.targetElement.querySelectorAll(".d2h-file-collapse").forEach((function(e){e.style.display="flex";var n=function(n){var t,i=null===(t=e.closest(".d2h-file-wrapper"))||void 0===t?void 0:t.querySelector(n);null!=i&&(e.classList.toggle("d2h-selected"),i.classList.toggle("d2h-d-none"))};e.addEventListener("click",(function(t){return function(t){e!==t.target&&(n(".d2h-file-diff"),n(".d2h-files-diff"))}(t)}))}))},e.prototype.highlightCode=function(){var e=this;if(null===this.hljs)throw new Error("Missing a `highlight.js` implementation. Please provide one when instantiating Diff2HtmlUI.");this.targetElement.querySelectorAll(".d2h-file-wrapper").forEach((function(n){if(null!==e.hljs){var t=n.getAttribute("data-lang"),i=t?(0,a.getLanguage)(t):"plaintext";n.querySelectorAll(".d2h-code-line-ctn").forEach((function(n){if(null!==e.hljs){var t=n.textContent,r=n.parentNode;if(null!==t&&null!==r&&e.isElement(r)){var s=(0,a.closeTags)(e.hljs.highlight(t,{language:i,ignoreIllegals:!0})),o=(0,a.nodeStream)(n);if(o.length){var l=document.createElementNS("http://www.w3.org/1999/xhtml","div");l.innerHTML=s.value,s.value=(0,a.mergeStreams)(o,(0,a.nodeStream)(l),t)}n.classList.add("hljs"),s.language&&n.classList.add(s.language),n.innerHTML=s.value}}}))}}))},e.prototype.smartSelection=function(){console.warn("Smart selection is now enabled by default with CSS. No need to call this method anymore.")},e.prototype.getHashTag=function(){var e=document.URL,n=e.indexOf("#"),t=null;return-1!==n&&(t=e.substr(n+1)),t},e.prototype.isElement=function(e){return null!==e&&void 0!==(null==e?void 0:e.classList)},e}();n.Diff2HtmlUI=s},8384:function(e,n,t){"use strict";var i,a=this&&this.__extends||(i=function(e,n){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])},i(e,n)},function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}i(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)});Object.defineProperty(n,"__esModule",{value:!0}),n.defaultDiff2HtmlUIConfig=n.Diff2HtmlUI=void 0;var r=t(1761),s=t(4169);Object.defineProperty(n,"defaultDiff2HtmlUIConfig",{enumerable:!0,get:function(){return s.defaultDiff2HtmlUIConfig}});var o=function(e){function n(n,t,i){return void 0===i&&(i={}),e.call(this,n,t,i,r.hljs)||this}return a(n,e),n}(s.Diff2HtmlUI);n.Diff2HtmlUI=o},1529:(e,n)=>{"use strict";function t(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function i(e){return e.nodeName.toLowerCase()}Object.defineProperty(n,"__esModule",{value:!0}),n.getLanguage=n.closeTags=n.mergeStreams=n.nodeStream=void 0,n.nodeStream=function(e){var n=[],t=function(e,a){for(var r=e.firstChild;r;r=r.nextSibling)3===r.nodeType&&null!==r.nodeValue?a+=r.nodeValue.length:1===r.nodeType&&(n.push({event:"start",offset:a,node:r}),a=t(r,a),i(r).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:r}));return a};return t(e,0),n},n.mergeStreams=function(e,n,a){var r=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){if(null===(n=e)||void 0===(null==n?void 0:n.attributes))throw new Error("Node is not an Element");var n;s+="<".concat(i(e)," ").concat(Array().map.call(e.attributes,(function(e){return"".concat(e.nodeName,'="').concat(t(e.value).replace(/"/g,"&quot;"),'"')})).join(" "),">")}function d(e){s+="</"+i(e)+">"}function u(e){("start"===e.event?c:d)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(a.substring(r,g[0].offset)),r=g[0].offset,g===e){o.reverse().forEach(d);do{u(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===r);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),u(g.splice(0,1)[0])}return s+t(a.substr(r))},n.closeTags=function(e){var n=new Array;return e.value=e.value.split("\n").map((function(e){var t=n.map((function(e){return'<span class="'.concat(e,'">')})).join(""),i=e.matchAll(/(<span class="(.*?)">|<\/span>)/g);return Array.from(i).forEach((function(e){"</span>"===e[0]?n.shift():n.unshift(e[2])})),t+e+"</span>".repeat(n.length)})).join("\n"),e};var a={"1c":"1c",abnf:"abnf",accesslog:"accesslog",as:"actionscript",adb:"ada",ada:"ada",ads:"ada",angelscript:"angelscript",apache:"apache",applescript:"applescript",scpt:"applescript",arcade:"arcade",cpp:"cpp",hpp:"cpp",arduino:"arduino",ino:"arduino",armasm:"armasm",arm:"armasm",xml:"xml",html:"xml",xhtml:"xml",rss:"xml",atom:"xml",xjb:"xml",xsd:"xml",xsl:"xml",plist:"xml",svg:"xml",asciidoc:"asciidoc",adoc:"asciidoc",asc:"asciidoc",aspectj:"aspectj",ahk:"autohotkey",ahkl:"autohotkey",au3:"autoit",avrasm:"avrasm",awk:"awk",axapta:"axapta","x++":"axapta",bash:"bash",sh:"bash",zsh:"bash",b:"basic",bnf:"bnf",bf:"brainfuck",c:"c",h:"c",cats:"c",idc:"c",cal:"cal",capnproto:"capnproto",capnp:"capnproto",ceylon:"ceylon",clean:"clean",clj:"clojure",boot:"clojure",cl2:"clojure",cljc:"clojure",cljs:"clojure","cljs.hl":"clojure",cljscm:"clojure",cljx:"clojure",hic:"clojure","clojure-repl":"clojure-repl",cmake:"cmake","cmake.in":"cmake",coffee:"coffeescript",_coffee:"coffeescript",cake:"coffeescript",cjsx:"coffeescript",iced:"coffeescript",cson:"coffeescript",coq:"coq",cos:"cos",cls:"cos",crmsh:"crmsh",crm:"crmsh",pcmk:"crmsh",cr:"crystal",cs:"csharp",csx:"csharp",csp:"csp",css:"css",d:"d",di:"d",md:"markdown",markdown:"markdown",mdown:"markdown",mdwn:"markdown",mkd:"markdown",mkdn:"markdown",mkdown:"markdown",ronn:"markdown",workbook:"markdown",dart:"dart",dpr:"delphi",dfm:"delphi",pas:"delphi",pascal:"delphi",diff:"diff",patch:"diff",django:"django",jinja:"django",dns:"dns",zone:"dns",bind:"dns",dockerfile:"dockerfile",docker:"dockerfile",dos:"dos",bat:"dos",cmd:"dos",dsconfig:"dsconfig",dts:"dts",dust:"dust",dst:"dust",ebnf:"ebnf",ex:"elixir",exs:"elixir",elm:"elm",rb:"ruby",builder:"ruby",eye:"ruby",gemspec:"ruby",god:"ruby",jbuilder:"ruby",mspec:"ruby",pluginspec:"ruby",podspec:"ruby",rabl:"ruby",rake:"ruby",rbuild:"ruby",rbw:"ruby",rbx:"ruby",ru:"ruby",ruby:"ruby",spec:"ruby",thor:"ruby",watchr:"ruby",erb:"erb","erlang-repl":"erlang-repl",erl:"erlang","app.src":"erlang",escript:"erlang",hrl:"erlang",xrl:"erlang",yrl:"erlang",excel:"excel",xls:"excel",xlsx:"excel",fix:"fix",flix:"flix",f90:"fortran",f:"fortran",f03:"fortran",f08:"fortran",f77:"fortran",f95:"fortran",for:"fortran",fpp:"fortran",fs:"fsharp",fsx:"fsharp",gams:"gams",gms:"gams",gauss:"gauss",gss:"gauss",gcode:"gcode",nc:"gcode",gherkin:"gherkin",glsl:"glsl",fp:"glsl",frag:"glsl",frg:"glsl",fsh:"glsl",fshader:"glsl",geo:"glsl",geom:"glsl",glslv:"glsl",gshader:"glsl",shader:"glsl",tesc:"glsl",tese:"glsl",vert:"glsl",vrx:"glsl",vsh:"glsl",vshader:"glsl",gml:"gml",go:"go",bal:"go",golo:"golo",gololang:"golo",gradle:"gradle",groovy:"groovy",grt:"groovy",gtpl:"groovy",gvy:"groovy",haml:"haml","haml.deface":"haml",handlebars:"handlebars",hbs:"handlebars","html.hbs":"handlebars","html.handlebars":"handlebars",hs:"haskell",hsc:"haskell",idr:"haskell",purs:"haskell",hx:"haxe",hxsl:"haxe",hsp:"hsp",htmlbars:"htmlbars",http:"http",https:"http",hy:"hy",inform7:"inform7",i7:"inform7",ini:"ini",toml:"ini",cfg:"ini",prefs:"ini",irpf90:"irpf90",isbl:"isbl",java:"java",jsp:"java",js:"javascript",jsx:"javascript",_js:"javascript",bones:"javascript",es:"javascript",es6:"javascript",gs:"javascript",jake:"javascript",jsb:"javascript",jscad:"javascript",jsfl:"javascript",jsm:"javascript",jss:"javascript",mjs:"javascript",njs:"javascript",pac:"javascript",sjs:"javascript",ssjs:"javascript",xsjs:"javascript",xsjslib:"javascript",cfc:"javascript","jboss-cli":"jboss-cli",json:"json",avsc:"json",geojson:"json",gltf:"json","JSON-tmLanguage":"json",jsonl:"json",tfstate:"json","tfstate.backup":"json",topojson:"json",webapp:"json",webmanifest:"json",jl:"julia","julia-repl":"julia-repl",kt:"kotlin",ktm:"kotlin",kts:"kotlin",lasso:"lasso",lassoscript:"lasso",tex:"latex",ldif:"ldif",leaf:"leaf",less:"less",lisp:"lisp",factor:"lisp",livecodeserver:"livecodeserver",ls:"livescript",_ls:"livescript",llvm:"llvm",lsl:"lsl",lua:"lua",nse:"lua",p8:"lua",pd_lua:"lua",rbxs:"lua",wlua:"lua",mak:"makefile",make:"makefile",mk:"makefile",mkfile:"makefile",mathematica:"mathematica",mma:"mathematica",wl:"mathematica",matlab:"matlab",maxima:"maxima",mel:"mel",mercury:"mercury",mipsasm:"mipsasm",miz:"mizar",voc:"mizar",al:"perl",cgi:"perl",fcgi:"perl",perl:"perl",ph:"perl",plx:"perl",pl:"perl",pm:"perl",psgi:"perl",t:"perl",mojolicious:"mojolicious",monkey:"monkey",monkey2:"monkey",moonscript:"moonscript",moon:"moonscript",n1ql:"n1ql",nginxconf:"nginx",nim:"nim",nimrod:"nim",nix:"nix",nsi:"nsis",nsh:"nsis",m:"objectivec",objc:"objectivec",mm:"objectivec","obj-c":"objectivec","obj-c++":"objectivec","objective-c++":"objectivec",fun:"ocaml",sig:"ocaml",ml:"ocaml",mli:"ocaml",eliom:"ocaml",eliomi:"ocaml",ml4:"ocaml",mll:"ocaml",mly:"ocaml",openscad:"openscad",oxygene:"oxygene",parser3:"parser3",pf:"pf","pf.conf":"pf",pgsql:"pgsql",postgres:"pgsql",postgresql:"pgsql",php:"php",aw:"php",ctp:"php",inc:"php",php3:"php",php4:"php",php5:"php",phps:"php",phpt:"php","php-template":"php-template",plaintext:"plaintext",txt:"plaintext",text:"plaintext",pony:"pony",ps:"powershell",ps1:"powershell",psd1:"powershell",psm1:"powershell",pde:"processing",profile:"profile",pro:"prolog",prolog:"prolog",yap:"prolog",properties:"properties",proto:"protobuf",puppet:"puppet",pp:"puppet",purebasic:"purebasic",py:"python",bzl:"python",gyp:"python",gypi:"python",lmi:"python",py3:"python",pyde:"python",pyi:"python",pyp:"python",pyt:"python",pyw:"python",rpy:"python",tac:"python",wsgi:"python",xpy:"python","python-repl":"python-repl",pycon:"python-repl",q:"q",k:"q",kdb:"q",qml:"qml",r:"r",rd:"r",rsx:"r",reasonml:"reasonml",re:"reasonml",rib:"rib",roboconf:"roboconf",graph:"roboconf",instances:"roboconf",routeros:"routeros",rsl:"rsl",ruleslanguage:"ruleslanguage",rs:"rust","rs.in":"rust",sas:"sas",scala:"scala",kojo:"scala",sbt:"scala",sc:"scala",scm:"scheme",sch:"scheme",sld:"scheme",sls:"scheme",sps:"scheme",ss:"scheme",rkt:"scheme",scilab:"scilab",scss:"scss",shell:"shell",smali:"smali",st:"smalltalk",sml:"sml",sqf:"sqf",sql:"sql",cql:"sql",ddl:"sql",mysql:"sql",prc:"sql",tab:"sql",udf:"sql",viw:"sql",stan:"stan",stanfuncs:"stan",stata:"stata",step21:"step21",step:"step21",stp:"step21",styl:"stylus",subunit:"subunit",swift:"swift",taggerscript:"taggerscript",yml:"yaml",mir:"yaml",reek:"yaml",rviz:"yaml","sublime-syntax":"yaml",syntax:"yaml",yaml:"yaml","yaml-tmlanguage":"yaml","yml.mysql":"yaml",tap:"tap",tcl:"tcl",adp:"tcl",tm:"tcl",thrift:"thrift",tp:"tp",twig:"twig",craftcms:"twig",ts:"typescript",tsx:"typescript",vala:"vala",vbnet:"vbnet",vb:"vbnet",vbscript:"vbscript",vbs:"vbscript","vbscript-html":"vbscript-html",v:"verilog",veo:"verilog",vhdl:"vhdl",vhd:"vhdl",vhf:"vhdl",vhi:"vhdl",vho:"vhdl",vhs:"vhdl",vht:"vhdl",vhw:"vhdl",vim:"vim",x86asm:"x86asm",xl:"xl",xquery:"xquery",xpath:"xquery",xq:"xquery",zephir:"zephir",zep:"zephir"};n.getLanguage=function(e){var n;return null!==(n=a[e])&&void 0!==n?n:"plaintext"}},1761:function(e,n,t){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.hljs=void 0;var a=i(t(3390)),r=i(t(6248)),s=i(t(4610)),o=i(t(4868)),l=i(t(8780)),c=i(t(612)),d=i(t(2177)),u=i(t(3147)),g=i(t(3707)),b=i(t(9534)),p=i(t(5064)),f=i(t(2003)),m=i(t(6642)),E=i(t(7731)),h=i(t(7360)),_=i(t(2543)),N=i(t(5658)),T=i(t(7905)),O=i(t(7569)),v=i(t(6652)),A=i(t(2399)),y=i(t(9878)),S=i(t(4658)),R=i(t(1407)),w=i(t(7077)),I=i(t(4762)),C=i(t(8257)),L=i(t(978)),M=i(t(14)),D=i(t(5812)),x=i(t(4210)),k=i(t(1943)),P=i(t(4981)),U=i(t(7903)),B=i(t(2482)),F=i(t(4028)),j=i(t(2446)),H=i(t(9814)),G=i(t(2656)),z=i(t(2437)),$=i(t(5040)),V=i(t(7546)),K=i(t(5559)),W=i(t(8245)),q=i(t(9880)),X=i(t(729)),Y=i(t(1062)),Z=i(t(7874)),Q=i(t(8935)),J=i(t(7690)),ee=i(t(1392)),ne=i(t(8987));a.default.registerLanguage("cpp",r.default),a.default.registerLanguage("xml",s.default),a.default.registerLanguage("awk",o.default),a.default.registerLanguage("bash",l.default),a.default.registerLanguage("c",c.default),a.default.registerLanguage("clojure",d.default),a.default.registerLanguage("crystal",u.default),a.default.registerLanguage("csharp",g.default),a.default.registerLanguage("csp",b.default),a.default.registerLanguage("css",p.default),a.default.registerLanguage("markdown",f.default),a.default.registerLanguage("dart",m.default),a.default.registerLanguage("diff",E.default),a.default.registerLanguage("dockerfile",h.default),a.default.registerLanguage("elixir",_.default),a.default.registerLanguage("elm",N.default),a.default.registerLanguage("ruby",T.default),a.default.registerLanguage("erlang",O.default),a.default.registerLanguage("fsharp",v.default),a.default.registerLanguage("go",A.default),a.default.registerLanguage("gradle",y.default),a.default.registerLanguage("groovy",S.default),a.default.registerLanguage("handlebars",R.default),a.default.registerLanguage("haskell",w.default),a.default.registerLanguage("ini",I.default),a.default.registerLanguage("java",C.default),a.default.registerLanguage("javascript",L.default),a.default.registerLanguage("json",M.default),a.default.registerLanguage("kotlin",D.default),a.default.registerLanguage("less",x.default),a.default.registerLanguage("lisp",k.default),a.default.registerLanguage("lua",P.default),a.default.registerLanguage("makefile",U.default),a.default.registerLanguage("perl",B.default),a.default.registerLanguage("nginx",F.default),a.default.registerLanguage("objectivec",j.default),a.default.registerLanguage("pgsql",H.default),a.default.registerLanguage("php",G.default),a.default.registerLanguage("plaintext",z.default),a.default.registerLanguage("powershell",$.default),a.default.registerLanguage("properties",V.default),a.default.registerLanguage("protobuf",K.default),a.default.registerLanguage("python",W.default),a.default.registerLanguage("rust",q.default),a.default.registerLanguage("scala",X.default),a.default.registerLanguage("scss",Y.default),a.default.registerLanguage("shell",Z.default),a.default.registerLanguage("sql",Q.default),a.default.registerLanguage("swift",J.default),a.default.registerLanguage("yaml",ee.default),a.default.registerLanguage("typescript",ne.default),n.hljs=a.default},8593:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.hashCode=n.unifyPath=n.escapeForRegExp=void 0;var t=RegExp("["+["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"].join("\\")+"]","g");n.escapeForRegExp=function(e){return e.replace(t,"\\$&")},n.unifyPath=function(e){return e?e.replace(/\\/g,"/"):e},n.hashCode=function(e){var n,t,i=0;for(n=0,t=e.length;n<t;n++)i=(i<<5)-i+e.charCodeAt(n),i|=0;return i}},3390:e=>{var n={exports:{}};function t(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(n){var i=e[n];"object"!=typeof i||Object.isFrozen(i)||t(i)})),e}n.exports=t,n.exports.default=t;var i=n.exports;class a{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function s(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}const o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=r(e)}openNode(e){if(!o(e))return;let n=e.kind;n=e.sublanguage?`language-${n}`:((e,{prefix:n})=>{if(e.includes(".")){const t=e.split(".");return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ")}return`${n}${e}`})(n,{prefix:this.classPrefix}),this.span(n)}closeNode(e){o(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{c._collapse(e)})))}}class d extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function u(e){return e?"string"==typeof e?e:e.source:null}function g(e){return f("(?=",e,")")}function b(e){return f("(?:",e,")*")}function p(e){return f("(?:",e,")?")}function f(...e){return e.map((e=>u(e))).join("")}function m(...e){const n=function(e){const n=e[e.length-1];return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}(e);return"("+(n.capture?"":"?:")+e.map((e=>u(e))).join("|")+")"}function E(e){return new RegExp(e.toString()+"|").exec("").length-1}const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t;let i=u(e),a="";for(;i.length>0;){const e=h.exec(i);if(!e){a+=i;break}a+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?a+="\\"+String(Number(e[1])+n):(a+=e[0],"("===e[0]&&t++)}return a})).map((e=>`(${e})`)).join(n)}const N="[a-zA-Z]\\w*",T="[a-zA-Z_]\\w*",O="\\b\\d+(\\.\\d+)?",v="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",A="\\b(0b[01]+)",y={begin:"\\\\[\\s\\S]",relevance:0},S={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[y]},R={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[y]},w=function(e,n,t={}){const i=s({scope:"comment",begin:e,end:n,contains:[]},t);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:f(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},I=w("//","$"),C=w("/\\*","\\*/"),L=w("#","$"),M={scope:"number",begin:O,relevance:0},D={scope:"number",begin:v,relevance:0},x={scope:"number",begin:A,relevance:0},k={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[y,{begin:/\[/,end:/\]/,relevance:0,contains:[y]}]}]},P={scope:"title",begin:N,relevance:0},U={scope:"title",begin:T,relevance:0};var B=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:N,UNDERSCORE_IDENT_RE:T,NUMBER_RE:O,C_NUMBER_RE:v,BINARY_NUMBER_RE:A,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=f(n,/.*\b/,e.binary,/\b.*/)),s({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:y,APOS_STRING_MODE:S,QUOTE_STRING_MODE:R,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:w,C_LINE_COMMENT_MODE:I,C_BLOCK_COMMENT_MODE:C,HASH_COMMENT_MODE:L,NUMBER_MODE:M,C_NUMBER_MODE:D,BINARY_NUMBER_MODE:x,REGEXP_MODE:k,TITLE_MODE:P,UNDERSCORE_TITLE_MODE:U,METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}});function F(e,n){"."===e.input[e.index-1]&&n.ignoreMatch()}function j(e,n){void 0!==e.className&&(e.scope=e.className,delete e.className)}function H(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=F,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function G(e,n){Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function z(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function $(e,n){void 0===e.relevance&&(e.relevance=1)}const V=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n]})),e.keywords=t.keywords,e.begin=f(t.beforeMatch,g(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},K=["of","and","for","in","not","or","if","then","parent","list","value"];function W(e,n,t="keyword"){const i=Object.create(null);return"string"==typeof e?a(t,e.split(" ")):Array.isArray(e)?a(t,e):Object.keys(e).forEach((function(t){Object.assign(i,W(e[t],n,t))})),i;function a(e,t){n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((function(n){const t=n.split("|");i[t[0]]=[e,q(t[0],t[1])]}))}}function q(e,n){return n?Number(n):function(e){return K.includes(e.toLowerCase())}(e)?0:1}const X={},Y=e=>{console.error(e)},Z=(e,...n)=>{console.log(`WARN: ${e}`,...n)},Q=(e,n)=>{X[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),X[`${e}/${n}`]=!0)},J=new Error;function ee(e,n,{key:t}){let i=0;const a=e[t],r={},s={};for(let e=1;e<=n.length;e++)s[e+i]=a[e],r[e+i]=!0,i+=E(n[e-1]);e[t]=s,e[t]._emit=r,e[t]._multi=!0}function ne(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Y("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),J;if("object"!=typeof e.beginScope||null===e.beginScope)throw Y("beginScope must be object"),J;ee(e,e.begin,{key:"beginScope"}),e.begin=_(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Y("skip, excludeEnd, returnEnd not compatible with endScope: {}"),J;if("object"!=typeof e.endScope||null===e.endScope)throw Y("endScope must be object"),J;ee(e,e.end,{key:"endScope"}),e.end=_(e.end,{joinWith:""})}}(e)}function te(e){function n(n,t){return new RegExp(u(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=E(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(_(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),i=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,i)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))),n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;let t=n.exec(e);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.");return e.classNameAliases=s(e.classNameAliases||{}),function t(a,r){const o=a;if(a.isCompiled)return o;[j,z,ne,V].forEach((e=>e(a,r))),e.compilerExtensions.forEach((e=>e(a,r))),a.__beforeBegin=null,[H,G,$].forEach((e=>e(a,r))),a.isCompiled=!0;let l=null;return"object"==typeof a.keywords&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),l=a.keywords.$pattern,delete a.keywords.$pattern),l=l||/\w+/,a.keywords&&(a.keywords=W(a.keywords,e.case_insensitive)),o.keywordPatternRe=n(l,!0),r&&(a.begin||(a.begin=/\B|\b/),o.beginRe=n(o.begin),a.end||a.endsWithParent||(a.end=/\B|\b/),a.end&&(o.endRe=n(o.end)),o.terminatorEnd=u(o.end)||"",a.endsWithParent&&r.terminatorEnd&&(o.terminatorEnd+=(a.end?"|":"")+r.terminatorEnd)),a.illegal&&(o.illegalRe=n(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map((function(e){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(n){return s(e,{variants:null},n)}))),e.cachedVariants?e.cachedVariants:ie(e)?s(e,{starts:e.starts?s(e.starts):null}):Object.isFrozen(e)?s(e):e}("self"===e?a:e)}))),a.contains.forEach((function(e){t(e,o)})),a.starts&&t(a.starts,r),o.matcher=function(e){const n=new i;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(o),o}(e)}function ie(e){return!!e&&(e.endsWithParent||ie(e.starts))}class ae extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}}const re=r,se=s,oe=Symbol("nomatch");var le=function(e){const n=Object.create(null),t=Object.create(null),r=[];let s=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]};let c={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:d};function u(e){return c.noHighlightRe.test(e)}function E(e,n,t){let i="",a="";"object"==typeof n?(i=e,t=n.ignoreIllegals,a=n.language):(Q("10.7.0","highlight(lang, code, ...args) has been deprecated."),Q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),a=e,i=n),void 0===t&&(t=!0);const r={code:i,language:a};S("before:highlight",r);const s=r.result?r.result:h(r.language,r.code,t);return s.code=r.code,S("after:highlight",s),s}function h(e,t,i,r){const l=Object.create(null);function d(){if(!y.keywords)return void R.addText(w);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(w),t="";for(;n;){t+=w.substring(e,n.index);const a=T.case_insensitive?n[0].toLowerCase():n[0],r=(i=a,y.keywords[i]);if(r){const[e,i]=r;if(R.addText(t),t="",l[a]=(l[a]||0)+1,l[a]<=7&&(I+=i),e.startsWith("_"))t+=n[0];else{const t=T.classNameAliases[e]||e;R.addKeyword(n[0],t)}}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(w)}var i;t+=w.substr(e),R.addText(t)}function u(){null!=y.subLanguage?function(){if(""===w)return;let e=null;if("string"==typeof y.subLanguage){if(!n[y.subLanguage])return void R.addText(w);e=h(y.subLanguage,w,!0,S[y.subLanguage]),S[y.subLanguage]=e._top}else e=_(w,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),R.addSublanguage(e._emitter,e.language)}():d(),w=""}function g(e,n){let t=1;const i=n.length-1;for(;t<=i;){if(!e._emit[t]){t++;continue}const i=T.classNameAliases[e[t]]||e[t],a=n[t];i?R.addKeyword(a,i):(w=a,d(),w=""),t++}}function b(e,n){return e.scope&&"string"==typeof e.scope&&R.openNode(T.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(R.addKeyword(w,T.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),w=""):e.beginScope._multi&&(g(e.beginScope,n),w="")),y=Object.create(e,{parent:{value:y}}),y}function p(e,n,t){let i=function(e,n){const t=e&&e.exec(n);return t&&0===t.index}(e.endRe,t);if(i){if(e["on:end"]){const t=new a(e);e["on:end"](n,t),t.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return p(e.parent,n,t)}function f(e){return 0===y.matcher.regexIndex?(w+=e[0],1):(M=!0,0)}function m(e){const n=e[0],i=t.substr(e.index),a=p(y,e,i);if(!a)return oe;const r=y;y.endScope&&y.endScope._wrap?(u(),R.addKeyword(n,y.endScope._wrap)):y.endScope&&y.endScope._multi?(u(),g(y.endScope,e)):r.skip?w+=n:(r.returnEnd||r.excludeEnd||(w+=n),u(),r.excludeEnd&&(w=n));do{y.scope&&R.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&b(a.starts,e),r.returnEnd?0:n.length}let E={};function N(n,r){const o=r&&r[0];if(w+=n,null==o)return u(),0;if("begin"===E.type&&"end"===r.type&&E.index===r.index&&""===o){if(w+=t.slice(r.index,r.index+1),!s){const n=new Error(`0 width match regex (${e})`);throw n.languageName=e,n.badRule=E.rule,n}return 1}if(E=r,"begin"===r.type)return function(e){const n=e[0],t=e.rule,i=new a(t),r=[t.__beforeBegin,t["on:begin"]];for(const t of r)if(t&&(t(e,i),i.isMatchIgnored))return f(n);return t.skip?w+=n:(t.excludeBegin&&(w+=n),u(),t.returnBegin||t.excludeBegin||(w=n)),b(t,e),t.returnBegin?0:n.length}(r);if("illegal"===r.type&&!i){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(y.scope||"<unnamed>")+'"');throw e.mode=y,e}if("end"===r.type){const e=m(r);if(e!==oe)return e}if("illegal"===r.type&&""===o)return 1;if(L>1e5&&L>3*r.index)throw new Error("potential infinite loop, way more iterations than matches");return w+=o,o.length}const T=v(e);if(!T)throw Y(o.replace("{}",e)),new Error('Unknown language: "'+e+'"');const O=te(T);let A="",y=r||O;const S={},R=new c.__emitter(c);!function(){const e=[];for(let n=y;n!==T;n=n.parent)n.scope&&e.unshift(n.scope);e.forEach((e=>R.openNode(e)))}();let w="",I=0,C=0,L=0,M=!1;try{for(y.matcher.considerAll();;){L++,M?M=!1:y.matcher.considerAll(),y.matcher.lastIndex=C;const e=y.matcher.exec(t);if(!e)break;const n=N(t.substring(C,e.index),e);C=e.index+n}return N(t.substr(C)),R.closeAllNodes(),R.finalize(),A=R.toHTML(),{language:e,value:A,relevance:I,illegal:!1,_emitter:R,_top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{language:e,value:re(t),illegal:!0,relevance:0,_illegalBy:{message:n.message,index:C,context:t.slice(C-100,C+100),mode:n.mode,resultSoFar:A},_emitter:R};if(s)return{language:e,value:re(t),illegal:!1,relevance:0,errorRaised:n,_emitter:R,_top:y};throw n}}function _(e,t){t=t||c.languages||Object.keys(n);const i=function(e){const n={value:re(e),illegal:!1,relevance:0,_top:l,_emitter:new c.__emitter(c)};return n._emitter.addText(e),n}(e),a=t.filter(v).filter(y).map((n=>h(n,e,!1)));a.unshift(i);const r=a.sort(((e,n)=>{if(e.relevance!==n.relevance)return n.relevance-e.relevance;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,d=s;return d.secondBest=o,d}function N(e){let n=null;const i=function(e){let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=c.languageDetectRe.exec(n);if(t){const n=v(t[1]);return n||(Z(o.replace("{}",t[1])),Z("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"}return n.split(/\s+/).find((e=>u(e)||v(e)))}(e);if(u(i))return;if(S("before:highlightElement",{el:e,language:i}),e.children.length>0&&(c.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),c.throwUnescapedHTML))throw new ae("One of your code blocks includes unescaped HTML.",e.innerHTML);n=e;const a=n.textContent,r=i?E(a,{language:i,ignoreIllegals:!0}):_(a);e.innerHTML=r.value,function(e,n,i){const a=n&&t[n]||i;e.classList.add("hljs"),e.classList.add(`language-${a}`)}(e,i,r.language),e.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest&&(e.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance}),S("after:highlightElement",{el:e,result:r,text:a})}let T=!1;function O(){"loading"!==document.readyState?document.querySelectorAll(c.cssSelector).forEach(N):T=!0}function v(e){return e=(e||"").toLowerCase(),n[e]||n[t[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{t[e.toLowerCase()]=n}))}function y(e){const n=v(e);return n&&!n.disableAutodetect}function S(e,n){const t=e;r.forEach((function(e){e[t]&&e[t](n)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){T&&O()}),!1),Object.assign(e,{highlight:E,highlightAuto:_,highlightAll:O,highlightElement:N,highlightBlock:function(e){return Q("10.7.0","highlightBlock will be removed entirely in v12.0"),Q("10.7.0","Please use highlightElement now."),N(e)},configure:function(e){c=se(c,e)},initHighlighting:()=>{O(),Q("10.6.0","initHighlighting() deprecated.  Use highlightAll() now.")},initHighlightingOnLoad:function(){O(),Q("10.6.0","initHighlightingOnLoad() deprecated.  Use highlightAll() now.")},registerLanguage:function(t,i){let a=null;try{a=i(e)}catch(e){if(Y("Language definition for '{}' could not be registered.".replace("{}",t)),!s)throw e;Y(e),a=l}a.name||(a.name=t),n[t]=a,a.rawDefinition=i.bind(null,e),a.aliases&&A(a.aliases,{languageName:t})},unregisterLanguage:function(e){delete n[e];for(const n of Object.keys(t))t[n]===e&&delete t[n]},listLanguages:function(){return Object.keys(n)},getLanguage:v,registerAliases:A,autoDetection:y,inherit:se,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{e["before:highlightBlock"](Object.assign({block:n.el},n))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{e["after:highlightBlock"](Object.assign({block:n.el},n))})}(e),r.push(e)}}),e.debugMode=function(){s=!1},e.safeMode=function(){s=!0},e.versionString="11.5.1",e.regex={concat:f,lookahead:g,either:m,optional:p,anyNumberOfTimes:b};for(const e in B)"object"==typeof B[e]&&i(B[e]);return Object.assign(e,B),e}({});e.exports=le,le.HighlightJS=le,le.default=le},4868:e=>{e.exports=function(e){return{name:"Awk",keywords:{keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10"},contains:[{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]}}},8780:e=>{e.exports=function(e){const n=e.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(s);const o={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},l=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}},612:e=>{e.exports=function(e){const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="[a-zA-Z_]\\w*::",a="(decltype\\(auto\\)|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0},d=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},g=[l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],b={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:g.concat([{begin:/\(/,end:/\)/,keywords:u,contains:g.concat(["self"]),relevance:0}]),relevance:0},p={begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:u,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(c,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}]},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C",aliases:["h"],keywords:u,disableAutodetect:!0,illegal:"</",contains:[].concat(b,p,g,[l,{begin:e.IDENT_RE+"::",keywords:u},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:l,strings:s,keywords:u}}}},2177:e=>{e.exports=function(e){const n="a-zA-Z_\\-!.?+*=<>&'",t="[#]?["+n+"]["+n+"0-9/;:$#]*",i="def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord",a={$pattern:t,built_in:i+" cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy first rest cons cast coll last butlast sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r={begin:t,relevance:0},s={scope:"number",relevance:0,variants:[{match:/[-+]?0[xX][0-9a-fA-F]+N?/},{match:/[-+]?0[0-7]+N?/},{match:/[-+]?[1-9][0-9]?[rR][0-9a-zA-Z]+N?/},{match:/[-+]?[0-9]+\/[0-9]+N?/},{match:/[-+]?[0-9]+((\.[0-9]*([eE][+-]?[0-9]+)?M?)|([eE][+-]?[0-9]+M?|M))/},{match:/[-+]?([1-9][0-9]*|0)N?/}]},o={scope:"character",variants:[{match:/\\o[0-3]?[0-7]{1,2}/},{match:/\\u[0-9a-fA-F]{4}/},{match:/\\(newline|space|tab|formfeed|backspace|return)/},{match:/\\\S/,relevance:0}]},l={scope:"regex",begin:/#"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]},c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),d={scope:"punctuation",match:/,/,relevance:0},u=e.COMMENT(";","$",{relevance:0}),g={className:"literal",begin:/\b(true|false|nil)\b/},b={begin:"\\[|(#::?"+t+")?\\{",end:"[\\]\\}]",relevance:0},p={className:"symbol",begin:"[:]{1,2}"+t},f={begin:"\\(",end:"\\)"},m={endsWithParent:!0,relevance:0},E={keywords:a,className:"name",begin:t,relevance:0,starts:m},h=[d,f,o,l,c,u,p,b,s,g,r],_={beginKeywords:i,keywords:{$pattern:t,keyword:i},end:'(\\[|#|\\d|"|:|\\{|\\)|\\(|$)',contains:[{className:"title",begin:t,relevance:0,excludeEnd:!0,endsParent:!0}].concat(h)};return f.contains=[_,E,m],m.contains=h,b.contains=h,{name:"Clojure",aliases:["clj","edn"],illegal:/\S/,contains:[d,f,o,l,c,u,p,b,s,g]}}},6248:e=>{e.exports=function(e){const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="[a-zA-Z_]\\w*::",a="(?!struct)(decltype\\(auto\\)|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0},d=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},g={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},b=[g,l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u,contains:b.concat(["self"]),relevance:0}]),relevance:0},f={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:u,relevance:0},{begin:d,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}]},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(p,f,g,b,[l,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:u,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:u},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}},3147:e=>{e.exports=function(e){const n="(_?[ui](8|16|32|64|128))?",t="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",i="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?",a={$pattern:"[a-zA-Z_]\\w*[!?=]?",keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},r={className:"subst",begin:/#\{/,end:/\}/,keywords:a},s={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:a};function o(e,n){const t=[{begin:e,end:n}];return t[0].contains=t,t}const l={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:o("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:o("\\[","\\]")},{begin:"%[Qwi]?\\{",end:/\}/,contains:o(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:o("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},c={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:o("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:o("\\[","\\]")},{begin:"%q\\{",end:/\}/,contains:o(/\{/,/\}/)},{begin:"%q<",end:">",contains:o("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},d={begin:"(?!%\\})("+e.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*",keywords:"case if select unless until when while",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},u=[s,l,c,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:"%r\\(",end:"\\)",contains:o("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:o("\\[","\\]")},{begin:"%r\\{",end:/\}/,contains:o(/\{/,/\}/)},{begin:"%r<",end:">",contains:o("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},d,{className:"meta",begin:"@\\[",end:"\\]",contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"string"})]},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},e.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i})]},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i})],relevance:2},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:t,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:t,endsParent:!0})],relevance:2},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[l,{begin:t}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+n},{begin:"\\b0o([0-7_]+)"+n},{begin:"\\b0x([A-Fa-f0-9_]+)"+n},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?(_?f(32|64))?(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+n}],relevance:0}];return r.contains=u,s.contains=u.slice(1),{name:"Crystal",aliases:["cr"],keywords:a,contains:u}}},3707:e=>{e.exports=function(e){const n={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},a={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},r=e.inherit(a,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/,keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]});s.contains=[c,l,a,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE],o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const u={variants:[c,l,a,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},g={begin:"<",end:">",contains:[{beginKeywords:"in out"},t]},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",p={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},u,i,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},t,g,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,g,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,g],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[u,i,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},p]}}},9534:e=>{e.exports=function(e){return{name:"CSP",case_insensitive:!1,keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_-]*",keyword:["base-uri","child-src","connect-src","default-src","font-src","form-action","frame-ancestors","frame-src","img-src","manifest-src","media-src","object-src","plugin-types","report-uri","sandbox","script-src","style-src","trusted-types","unsafe-hashes","worker-src"]},contains:[{className:"string",begin:"'",end:"'"},{className:"attribute",begin:"^Content",end:":",excludeEnd:!0}]}}},5064:e=>{const n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();e.exports=function(e){const s=e.regex,o=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(e),l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[o.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+i.join("|")+")"},{begin:":(:)?("+a.join("|")+")"}]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[o.BLOCK_COMMENT,o.HEXCOLOR,o.IMPORTANT,o.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},o.FUNCTION_DISPATCH]},{begin:s.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,o.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+n.join("|")+")\\b"}]}}},6642:e=>{e.exports=function(e){const n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},t={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"},i={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n,t]}]};t.contains=[e.C_NUMBER_MODE,i];const a=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=a.map((e=>`${e}?`));return{name:"Dart",keywords:{keyword:["abstract","as","assert","async","await","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","inferface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","while","with","yield"],built_in:a.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/},contains:[i,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}},7731:e=>{e.exports=function(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}},7360:e=>{e.exports=function(e){return{name:"Dockerfile",aliases:["docker"],case_insensitive:!0,keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"}}},2543:e=>{e.exports=function(e){const n=e.regex,t="[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?",i={$pattern:t,keyword:["after","alias","and","case","catch","cond","defstruct","defguard","do","else","end","fn","for","if","import","in","not","or","quote","raise","receive","require","reraise","rescue","try","unless","unquote","unquote_splicing","use","when","with|0"],literal:["false","nil","true"]},a={className:"subst",begin:/#\{/,end:/\}/,keywords:i},r={match:/\\[\s\S]/,scope:"char.escape",relevance:0},s=[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin:/</,end:/>/}],o=e=>({scope:"char.escape",begin:n.concat(/\\/,e),relevance:0}),l={className:"string",begin:"~[a-z](?=[/|([{<\"'])",contains:s.map((n=>e.inherit(n,{contains:[o(n.end),r,a]})))},c={className:"string",begin:"~[A-Z](?=[/|([{<\"'])",contains:s.map((n=>e.inherit(n,{contains:[o(n.end)]})))},d={className:"regex",variants:[{begin:"~r(?=[/|([{<\"'])",contains:s.map((t=>e.inherit(t,{end:n.concat(t.end,/[uismxfU]{0,7}/),contains:[o(t.end),r,a]})))},{begin:"~R(?=[/|([{<\"'])",contains:s.map((t=>e.inherit(t,{end:n.concat(t.end,/[uismxfU]{0,7}/),contains:[o(t.end)]})))}]},u={className:"string",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:/~S"""/,end:/"""/,contains:[]},{begin:/~S"/,end:/"/,contains:[]},{begin:/~S'''/,end:/'''/,contains:[]},{begin:/~S'/,end:/'/,contains:[]},{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},g={className:"function",beginKeywords:"def defp defmacro defmacrop",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:t,endsParent:!0})]},b=e.inherit(g,{className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",end:/\bdo\b|$|;/}),p=[u,d,c,l,e.HASH_COMMENT_MODE,b,g,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[u,{begin:"[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?"}],relevance:0},{className:"symbol",begin:t+":(?!:)",relevance:0},{className:"title.class",begin:/(\b[A-Z][a-zA-Z0-9_]+)/,relevance:0},{className:"number",begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[0-9][0-9_]*(\\.[0-9_]+([eE][-+]?[0-9]+)?)?)",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))"}];return a.contains=p,{name:"Elixir",aliases:["ex","exs"],keywords:i,contains:p}}},5658:e=>{e.exports=function(e){const n={variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},t={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},i={begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},n]};return{name:"Elm",keywords:["let","in","if","then","else","case","of","where","module","import","exposing","type","alias","as","infix","infixl","infixr","port","effect","command","subscription"],contains:[{beginKeywords:"port effect module",end:"exposing",keywords:"port effect module where command subscription exposing",contains:[i,n],illegal:"\\W\\.|;"},{begin:"import",end:"$",keywords:"import as exposing",contains:[i,n],illegal:"\\W\\.|;"},{begin:"type",end:"$",keywords:"type alias",contains:[t,i,{begin:/\{/,end:/\}/,contains:i.contains},n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"port",end:"$",keywords:"port",contains:[n]},{className:"string",begin:"'\\\\?.",end:"'",illegal:"."},e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,t,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}],illegal:/;/}}},7569:e=>{e.exports=function(e){const n="[a-z'][a-zA-Z0-9_']*",t="("+n+":"+n+"|"+n+")",i={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},a=e.COMMENT("%","$"),r={className:"number",begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)",relevance:0},s={begin:"fun\\s+"+n+"/\\d+"},o={begin:t+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{begin:t,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},l={begin:/\{/,end:/\}/,relevance:0},c={begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0},d={begin:"[A-Z][a-zA-Z0-9_]*",relevance:0},u={begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0},{begin:/\{/,end:/\}/,relevance:0}]},g={beginKeywords:"fun receive if try case",end:"end",keywords:i};g.contains=[a,s,e.inherit(e.APOS_STRING_MODE,{className:""}),g,o,e.QUOTE_STRING_MODE,r,l,c,d,u];const b=[a,s,g,o,e.QUOTE_STRING_MODE,r,l,c,d,u];o.contains[1].contains=b,l.contains=b,u.contains[1].contains=b;const p={className:"params",begin:"\\(",end:"\\)",contains:b};return{name:"Erlang",aliases:["erl"],keywords:i,illegal:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",contains:[{className:"function",begin:"^"+n+"\\s*\\(",end:"->",returnBegin:!0,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[p,e.inherit(e.TITLE_MODE,{begin:n})],starts:{end:";|\\.",keywords:i,contains:b}},a,{begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,keywords:{$pattern:"-"+e.IDENT_RE,keyword:["-module","-record","-undef","-export","-ifdef","-ifndef","-author","-copyright","-doc","-vsn","-import","-include","-include_lib","-compile","-define","-else","-endif","-file","-behaviour","-behavior","-spec"].map((e=>`${e}|1.5`)).join(" ")},contains:[p]},r,e.QUOTE_STRING_MODE,u,c,d,l,{begin:/\.$/}]}}},6652:e=>{function n(e){return new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function t(e){return e?"string"==typeof e?e:e.source:null}function i(e){return a("(?=",e,")")}function a(...e){return e.map((e=>t(e))).join("")}function r(...e){const n=function(e){const n=e[e.length-1];return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}(e);return"("+(n.capture?"":"?:")+e.map((e=>t(e))).join("|")+")"}e.exports=function(e){const t={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},s=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],o={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},l={variants:[e.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),e.C_LINE_COMMENT_MODE]},c={scope:"variable",begin:/``/,end:/``/},d=/\B('|\^)/,u={scope:"symbol",variants:[{match:a(d,/``.*?``/)},{match:a(d,e.UNDERSCORE_IDENT_RE)}],relevance:0},g=function({includeEqual:e}){let t;t=e?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";const s=a("[",...Array.from(t).map(n),"]"),o=r(s,/\./),l=a(o,i(o)),c=r(a(l,o,"*"),a(s,"+"));return{scope:"operator",match:r(c,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},b=g({includeEqual:!0}),p=g({includeEqual:!1}),f=function(n,t){return{begin:a(n,i(a(/\s*/,r(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:t,end:i(r(/\n/,/=/)),relevance:0,keywords:e.inherit(o,{type:s}),contains:[l,u,e.inherit(c,{scope:null}),p]}},m=f(/:/,"operator"),E=f(/\bof\b/,"keyword"),h={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:i(/\(|=|$/),keywords:o,contains:[l,e.inherit(c,{scope:null}),u,{scope:"operator",match:/<|>/},m]},_={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},N={begin:[/^\s*/,a(/#/,r("if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit")),/\b/],beginScope:{2:"meta"},end:i(/\s|$/)},T={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},O={scope:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]},v={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},e.BACKSLASH_ESCAPE]},A={scope:"string",begin:/"""/,end:/"""/,relevance:2},y={scope:"subst",begin:/\{/,end:/\}/,keywords:o},S={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},e.BACKSLASH_ESCAPE,y]},R={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},e.BACKSLASH_ESCAPE,y]},w={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},y],relevance:2},I={scope:"string",match:a(/'/,r(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return y.contains=[R,S,v,O,I,t,l,c,m,_,N,T,u,b],{name:"F#",aliases:["fs","f#"],keywords:o,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[t,{variants:[w,R,S,A,v,O,I]},l,c,h,{scope:"meta",begin:/\[</,end:/>\]/,relevance:2,contains:[c,A,v,O,I,T]},E,m,_,N,T,u,b]}}},2399:e=>{e.exports=function(e){const n={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:n,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,illegal:/["']/}]}]}}},9878:e=>{e.exports=function(e){return{name:"Gradle",case_insensitive:!0,keywords:["task","project","allprojects","subprojects","artifacts","buildscript","configurations","dependencies","repositories","sourceSets","description","delete","from","into","include","exclude","source","classpath","destinationDir","includes","options","sourceCompatibility","targetCompatibility","group","flatDir","doLast","doFirst","flatten","todir","fromdir","ant","def","abstract","break","case","catch","continue","default","do","else","extends","final","finally","for","if","implements","instanceof","native","new","private","protected","public","return","static","switch","synchronized","throw","throws","transient","try","volatile","while","strictfp","package","import","false","null","super","this","true","antlrtask","checkstyle","codenarc","copy","boolean","byte","char","class","double","float","int","interface","long","short","void","compile","runTime","file","fileTree","abs","any","append","asList","asWritable","call","collect","compareTo","count","div","dump","each","eachByte","eachFile","eachLine","every","find","findAll","flatten","getAt","getErr","getIn","getOut","getText","grep","immutable","inject","inspect","intersect","invokeMethods","isCase","join","leftShift","minus","multiply","newInputStream","newOutputStream","newPrintWriter","newReader","newWriter","next","plus","pop","power","previous","print","println","push","putAt","read","readBytes","readLines","reverse","reverseEach","round","size","sort","splitEachLine","step","subMap","times","toInteger","toList","tokenize","upto","waitForOrKill","withPrintWriter","withReader","withStream","withWriter","withWriterAppend","write","writeLine"],contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.REGEXP_MODE]}}},4658:e=>{function n(e,n={}){return n.variants=e,n}e.exports=function(e){const t=e.regex,i="[A-Za-z0-9_$]+",a=n([e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]})]),r={className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[e.BACKSLASH_ESCAPE]},s=n([e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]),o=n([{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE],{className:"string"}),l={match:[/(class|interface|trait|enum|extends|implements)/,/\s+/,e.UNDERSCORE_IDENT_RE],scope:{1:"keyword",3:"title.class"}};return{name:"Groovy",keywords:{"variable.language":"this super",literal:"true false null",type:["byte","short","char","int","long","boolean","float","double","void"],keyword:["def","as","in","assert","trait","abstract","static","volatile","transient","public","private","protected","synchronized","final","class","interface","enum","if","else","for","while","switch","case","break","default","continue","throw","throws","try","catch","finally","implements","extends","new","import","package","return","instanceof"]},contains:[e.SHEBANG({binary:"groovy",relevance:10}),a,o,r,s,l,{className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr",begin:i+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0,contains:[a,o,r,s,"self"]},{className:"symbol",begin:"^[ \t]*"+t.lookahead(i+":"),excludeBegin:!0,end:i+":",relevance:0}],illegal:/#|<\//}}},1407:e=>{e.exports=function(e){const n=e.regex,t={$pattern:/[\w.\/]+/,built_in:["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]},i=/\[\]|\[[^\]]+\]/,a=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,r=n.either(/""|"[^"]+"/,/''|'[^']+'/,i,a),s=n.concat(n.optional(/\.|\.\/|\//),r,n.anyNumberOfTimes(n.concat(/(\.|\/)/,r))),o=n.concat("(",i,"|",a,")(?==)"),l={begin:s},c=e.inherit(l,{keywords:{$pattern:/[\w.\/]+/,literal:["true","false","undefined","null"]}}),d={begin:/\(/,end:/\)/},u={className:"attr",begin:o,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,c,d]}}},g={contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},u,c,d],returnEnd:!0},b=e.inherit(l,{className:"name",keywords:t,starts:e.inherit(g,{end:/\)/})});d.contains=[b];const p=e.inherit(l,{keywords:t,className:"name",starts:e.inherit(g,{end:/\}\}/})}),f=e.inherit(l,{keywords:t,className:"name"}),m=e.inherit(l,{className:"name",keywords:t,starts:e.inherit(g,{end:/\}\}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},e.COMMENT(/\{\{!--/,/--\}\}/),e.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[p],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[f]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[p]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[f]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[m]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[m]}]}}},7077:e=>{e.exports=function(e){const n={variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},t={className:"meta",begin:/\{-#/,end:/#-\}/},i={className:"meta",begin:"^#",end:"$"},a={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},r={begin:"\\(",end:"\\)",illegal:'"',contains:[t,i,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]},s="([0-9a-fA-F]_*)+",o={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:`\\b0[xX]_*(${s})(\\.(${s}))?([pP][+-]?(([0-9]_*)+))?\\b`},{match:"\\b0[oO](([0-7]_*)+)\\b"},{match:"\\b0[bB](([01]_*)+)\\b"}]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[r,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[r,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[a,r,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[t,a,r,{begin:/\{/,end:/\}/,contains:r.contains},n]},{beginKeywords:"default",end:"$",contains:[a,r,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[a,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},t,i,e.QUOTE_STRING_MODE,o,a,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}},4762:e=>{e.exports=function(e){const n=e.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},i=e.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const a={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[i,r,a,s,t,"self"],relevance:0},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[i,o,r,a,s,t]}}]}}},8257:e=>{var n="\\.([0-9](_*[0-9])*)",t="[0-9a-fA-F](_*[0-9a-fA-F])*",i={className:"number",variants:[{begin:`(\\b([0-9](_*[0-9])*)((${n})|\\.)?|(${n}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`},{begin:`\\b([0-9](_*[0-9])*)((${n})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${n})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{begin:`\\b0[xX]((${t})\\.?|(${t})?\\.(${t}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${t})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function a(e,n,t){return-1===t?"":e.replace(n,(i=>a(e,n,t-1)))}e.exports=function(e){const n=e.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=t+a("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},o={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i,o]}}},978:e=>{const n="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],i=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],s=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","module","global"],l=[].concat(s,a,r);e.exports=function(e){const c=e.regex,d=n,u={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const t=e[0].length+e.index,i=e.input[t];if("<"===i||","===i)return void n.ignoreMatch();let a;">"===i&&(((e,{after:n})=>{const t="</"+e[0].slice(1);return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch()),(a=e.input.substr(t).match(/^\s+extends\s+/))&&0===a.index&&n.ignoreMatch()}},g={$pattern:n,keyword:t,literal:i,built_in:l,"variable.language":o},b="\\.([0-9](_?[0-9])*)",p="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${p})((${b})|\\.)?|(${b}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{begin:`\\b(${p})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},m={className:"subst",begin:"\\$\\{",end:"\\}",keywords:g,contains:[]},E={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,m],subLanguage:"xml"}},h={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,m],subLanguage:"css"}},_={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,m]},N={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,E,h,_,f];m.contains=T.concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(T)});const O=[].concat(N,m.contains),v=O.concat([{begin:/\(/,end:/\)/,keywords:g,contains:["self"].concat(O)}]),A={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:v},y={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,c.concat(d,"(",c.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},S={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...r]}},R={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[A],illegal:/%/},w={match:c.concat(/\b/,(I=[...s,"super"],c.concat("(?!",I.join("|"),")")),d,c.lookahead(/\(/)),className:"title.function",relevance:0};var I;const C={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},M="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",D={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(M)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{PARAMS_CONTAINS:v,CLASS_REFERENCE:S},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,E,h,_,N,f,S,{className:"attr",begin:d+c.lookahead(":"),relevance:0},D,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[N,e.REGEXP_MODE,{className:"function",begin:M,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:v}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:u.begin,"on:begin":u.isTrulyOpeningTag,end:u.end}],subLanguage:"xml",contains:[{begin:u.begin,end:u.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},C,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},y,L,{match:/\$[(.]/}]}}},14:e=>{e.exports=function(e){const n={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}},5812:e=>{var n="\\.([0-9](_*[0-9])*)",t="[0-9a-fA-F](_*[0-9a-fA-F])*",i={className:"number",variants:[{begin:`(\\b([0-9](_*[0-9])*)((${n})|\\.)?|(${n}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`},{begin:`\\b([0-9](_*[0-9])*)((${n})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${n})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{begin:`\\b0[xX]((${t})\\.?|(${t})?\\.(${t}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${t})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};e.exports=function(e){const n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},r={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[r,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,r,a]}]};a.contains.push(s);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:"string"})]}]},c=i,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),u={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=u;return g.variants[1].contains=[u],u.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},t,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[u,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,o,l,s,e.C_NUMBER_MODE]},d]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},o,l]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},c]}}},4210:e=>{const n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),s=i.concat(a);e.exports=function(e){const o=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(e),l=s,c="([\\w-]+|@\\{[\\w-]+\\})",d=[],u=[],g=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},b=function(e,n,t){return{className:e,begin:n,relevance:t}},p={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},f={begin:"\\(",end:"\\)",contains:u,keywords:p,relevance:0};u.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g("'"),g('"'),o.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},o.HEXCOLOR,f,b("variable","@@?[\\w-]+",10),b("variable","@\\{[\\w-]+\\}"),b("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},o.IMPORTANT);const m=u.concat({begin:/\{/,end:/\}/,contains:d}),E={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(u)},h={begin:c+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:u}}]},_={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:p,returnEnd:!0,contains:u,relevance:0}},N={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:m}},T={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:c,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,E,b("keyword","all\\b"),b("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+n.join("|")+")\\b",className:"selector-tag"},o.CSS_NUMBER_MODE,b("selector-tag",c,0),b("selector-id","#"+c),b("selector-class","\\."+c,0),b("selector-tag","&",0),o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+a.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:m},{begin:"!important"},o.FUNCTION_DISPATCH]},O={begin:`[\\w-]+:(:)?(${l.join("|")})`,returnBegin:!0,contains:[T]};return d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,_,N,O,h,T),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:d}}},1943:e=>{e.exports=function(e){const n="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",t="\\|[^]*?\\|",i="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",a={className:"literal",begin:"\\b(t{1}|nil)\\b"},r={className:"number",variants:[{begin:i,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+i+" +"+i,end:"\\)"}]},s=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),o=e.COMMENT(";","$",{relevance:0}),l={begin:"\\*",end:"\\*"},c={className:"symbol",begin:"[:&]"+n},d={begin:n,relevance:0},u={begin:t},g={contains:[r,s,l,c,{begin:"\\(",end:"\\)",contains:["self",a,s,r,d]},d],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{name:"quote"}},{begin:"'"+t}]},b={variants:[{begin:"'"+n},{begin:"#'"+n+"(::"+n+")*"}]},p={begin:"\\(\\s*",end:"\\)"},f={endsWithParent:!0,relevance:0};return p.contains=[{className:"name",variants:[{begin:n,relevance:0},{begin:t}]},f],f.contains=[g,b,p,a,r,s,o,l,c,u,d],{name:"Lisp",illegal:/\S/,contains:[r,e.SHEBANG(),a,s,o,g,b,p,d]}}},4981:e=>{e.exports=function(e){const n="\\[=*\\[",t="\\]=*\\]",i={begin:n,end:t,contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",t,{contains:[i],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:n,end:t,contains:[i],relevance:5}])}}},7903:e=>{e.exports=function(e){const n={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},i={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[n]},a={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,n,t,i,a,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}}},2003:e=>{e.exports=function(e){const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},a={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]},r=e.inherit(i,{contains:[]}),s=e.inherit(a,{contains:[]});i.contains.push(s),a.contains.push(r);let o=[n,t];return[i,a,r,s].forEach((e=>{e.contains=e.contains.concat(o)})),o=o.concat(i,a),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,a,{className:"quote",begin:"^>\\s+",contains:o,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},4028:e=>{e.exports=function(e){const n=e.regex,t={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:n.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},i={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[t]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},t]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:i.contains,keywords:{section:"upstream location"}},{className:"section",begin:n.concat(e.UNDERSCORE_IDENT_RE+n.lookahead(/\s+\{/)),relevance:0},{begin:n.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:i}],relevance:0}],illegal:"[^\\s\\}\\{]"}}},2446:e=>{e.exports=function(e){const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}},2482:e=>{e.exports=function(e){const n=e.regex,t=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},r={begin:/->\{/,end:/\}/},s={variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},o=[e.BACKSLASH_ESCAPE,a,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,i,a="\\1")=>{const r="\\1"===a?a:n.concat(a,i);return n.concat(n.concat("(?:",e,")"),i,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,a,t)},d=(e,i,a)=>n.concat(n.concat("(?:",e,")"),i,/(?:\\.|[^\\\/])*?/,a,t),u=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),r,{className:"string",contains:o,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=u,r.contains=u,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:u}}},9814:e=>{e.exports=function(e){const n=e.COMMENT("--","$"),t="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",i="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",a=i.trim().split(" ").map((function(e){return e.split("|")[0]})).join("|"),r="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST ".trim().split(" ").map((function(e){return e.split("|")[0]})).join("|");return{name:"PostgreSQL",aliases:["postgres","postgresql"],supersetOf:"sql",case_insensitive:!0,keywords:{keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED "},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR"}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE",end:e.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type",begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{begin:"\\b("+r+")\\s*\\("},{begin:"\\.("+a+")\\b"},{begin:"\\b("+a+")\\s+PATH\\b",keywords:{keyword:"PATH",type:i.replace("PATH ","")}},{className:"type",begin:"\\b("+a+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}],relevance:10},e.END_SAME_AS_BEGIN({begin:t,end:t,contains:[{subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],endsWithParent:!0}]}),{begin:'"',end:'"',contains:[{begin:'""'}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"meta",variants:[{begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}}},2656:e=>{e.exports=function(e){const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,i=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),a=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={scope:"variable",match:"\\$+"+i},s={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),o,e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(s)})]},d={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},u=["false","null","true"],g=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],p={keyword:g,literal:(e=>{const n=[];return e.forEach((e=>{n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase())})),n})(u),built_in:b},f=e=>e.map((e=>e.replace(/\|\d+$/,""))),m={variants:[{match:[/new/,n.concat(l,"+"),n.concat("(?!",f(b).join("\\b|"),"\\b)"),a],scope:{1:"keyword",4:"title.class"}}]},E=n.concat(i,"\\b(?!\\()"),h={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),E],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[a,n.concat(/::/,n.lookahead(/(?!class\b)/)),E],scope:{1:"title.class",3:"variable.constant"}},{match:[a,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[a,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},_={scope:"attr",match:n.concat(i,n.lookahead(":"),n.lookahead(/(?!::)/))},N={relevance:0,begin:/\(/,end:/\)/,keywords:p,contains:[_,r,h,e.C_BLOCK_COMMENT_MODE,c,d,m]},T={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",f(g).join("\\b|"),"|",f(b).join("\\b|"),"\\b)"),i,n.concat(l,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[N]};N.contains.push(T);const O=[_,h,e.C_BLOCK_COMMENT_MODE,c,d,m];return{case_insensitive:!1,keywords:p,contains:[{begin:n.concat(/#\[\s*/,a),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]},contains:["self",...O]},...O,{scope:"meta",match:a}]},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,T,h,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},m,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:p,contains:["self",r,h,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]}}},2437:e=>{e.exports=function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}},5040:e=>{e.exports=function(e){const n={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},t={begin:"`[\\s\\S]",relevance:0},i={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},a={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[t,i,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},r={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},s=e.inherit(e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),o={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},l={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[e.TITLE_MODE]},c={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[i]}]},d={begin:/using\s/,end:/$/,returnBegin:!0,contains:[a,r,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},u={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-){1,2}[\w\d-]+/,relevance:0}]},g={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(n.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},e.inherit(e.TITLE_MODE,{endsParent:!0})]},b=[g,s,t,e.NUMBER_MODE,a,r,o,i,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],p={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",b,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return g.contains.unshift(p),{name:"PowerShell",aliases:["pwsh","ps","ps1"],case_insensitive:!0,keywords:n,contains:b.concat(l,c,d,u,p)}}},7546:e=>{e.exports=function(e){const n="[ \\t\\f]*",t="([^\\\\:= \\t\\f\\n]|\\\\.)+";return{name:".properties",disableAutodetect:!0,case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{begin:t+"[ \\t\\f]*[:=][ \\t\\f]*"},{begin:t+"[ \\t\\f]+"}],contains:[{className:"attr",begin:t,endsParent:!0}],starts:{end:"([ \\t\\f]*[:=][ \\t\\f]*|[ \\t\\f]+)",relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}}},{className:"attr",begin:t+n+"$"}]}}},5559:e=>{e.exports=function(e){const n={match:[/(message|enum|service)\s+/,e.IDENT_RE],scope:{1:"keyword",2:"title.class"}};return{name:"Protocol Buffers",keywords:{keyword:["package","import","option","optional","required","repeated","group","oneof"],type:["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"],literal:["true","false"]},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:!0,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}}},8245:e=>{e.exports=function(e){const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},o={begin:/\{\{/,relevance:0},l={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,u=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${u})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${u})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${u})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${u})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${u})`},{begin:`\\b(${c})[jJ](?=${u})`}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},p={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",r,g,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,g,r],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|->|\?)|=>/,contains:[r,g,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[p]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,p,l]}]}}},7905:e=>{e.exports=function(e){const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),a=n.concat(i,/(::\w+)*/),r={"variable.constant":["__FILE__","__LINE__"],"variable.language":["self","super"],keyword:["alias","and","attr_accessor","attr_reader","attr_writer","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","include","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"],built_in:["proc","lambda"],literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u="[0-9](_?[0-9])*",g={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:r}]},p=[d,{variants:[{match:[/class\s+/,a,/\s+<\s+/,a]},{match:[/class\s+/,a]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:r},{relevance:0,match:[a,/\.new[ (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},g,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l);c.contains=p,b.contains=p;const f=[{begin:/^\s*=>/,starts:{end:"$",contains:p}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:r,contains:p}}];return l.unshift(o),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(f).concat(l).concat(p)}}},9880:e=>{e.exports=function(e){const n=e.regex,t={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",a=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bin!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"],keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:a},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+i},{begin:"\\b0o([0-7_]+)"+i},{begin:"\\b0x([A-Fa-f0-9_]+)"+i},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+i}],relevance:0},{begin:[/fn/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,e.UNDERSCORE_IDENT_RE,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:a}},{className:"punctuation",begin:"->"},t]}}},729:e=>{e.exports=function(e){const n=e.regex,t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:/\$\{/,end:/\}/}]},i={className:"string",variants:[{begin:'"""',end:'"""'},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[t],relevance:10}]},a={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},r={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},s={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[a]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[a]},r]},o={className:"function",beginKeywords:"def",end:n.lookahead(/[:={\[(\n;]/),contains:[r]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if then forSome for while do throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit export enum given"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a,o,s,e.C_NUMBER_MODE,{begin:[/^\s*/,"extension",/\s+(?=[[(])/],beginScope:{2:"keyword"}},[{begin:[/^\s*/,/end/,/\s+/,/(extension\b)?/],beginScope:{2:"keyword",4:"keyword"}}],{match:/\.inline\b/},{begin:/\binline(?=\s)/,keywords:"inline"},{begin:[/\(\s*/,/using/,/\s+(?!\))/],beginScope:{2:"keyword"}},{className:"meta",begin:"@[A-Za-z]+"}]}}},1062:e=>{const n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();e.exports=function(e){const s=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(e),o=a,l=i,c="@[a-z-]+",d={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+n.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+l.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+o.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[s.CSS_NUMBER_MODE]},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,contains:[s.BLOCK_COMMENT,d,s.HEXCOLOR,s.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,s.IMPORTANT]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,s.HEXCOLOR,s.CSS_NUMBER_MODE]},s.FUNCTION_DISPATCH]}}},7874:e=>{e.exports=function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}},8935:e=>{e.exports=function(e){const n=e.regex,t=e.COMMENT("--","$"),i=["true","false","unknown"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:n,when:t}={}){const i=t;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:i(e)?`${e}|0`:e))}(l,{when:e=>e.length<3}),literal:i,type:a,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:l.concat(s),literal:i,type:a}},{className:"type",begin:n.either("double precision","large object","with timezone","without timezone")},c,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}},7690:e=>{function n(e){return e?"string"==typeof e?e:e.source:null}function t(e){return i("(?=",e,")")}function i(...e){return e.map((e=>n(e))).join("")}function a(...e){const t=function(e){const n=e[e.length-1];return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>n(e))).join("|")+")"}const r=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(r),o=["init","self"].map(r),l=["Any","Self"],c=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],d=["false","nil","true"],u=["assignment","associativity","higherThan","left","lowerThan","none","right"],g=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],b=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],p=a(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),f=a(p,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),m=i(p,f,"*"),E=a(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),h=a(E,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),_=i(E,h,"*"),N=i(/[A-Z]/,h,"*"),T=["autoclosure",i(/convention\(/,a("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,_,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],O=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];e.exports=function(e){const n={match:/\s+/,relevance:0},p=e.COMMENT("/\\*","\\*/",{contains:["self"]}),E=[e.C_LINE_COMMENT_MODE,p],v={match:[/\./,a(...s,...o)],className:{2:"keyword"}},A={match:i(/\./,a(...c)),relevance:0},y=c.filter((e=>"string"==typeof e)).concat(["_|0"]),S={variants:[{className:"keyword",match:a(...c.filter((e=>"string"!=typeof e)).concat(l).map(r),...o)}]},R={$pattern:a(/\b\w+/,/#\w+/),keyword:y.concat(g),literal:d},w=[v,A,S],I=[{match:i(/\./,a(...b)),relevance:0},{className:"built_in",match:i(/\b/,a(...b),/(?=\()/)}],C={match:/->/,relevance:0},L=[C,{className:"operator",relevance:0,variants:[{match:m},{match:`\\.(\\.|${f})+`}]}],M="([0-9a-fA-F]_*)+",D={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:`\\b0x(${M})(\\.(${M}))?([pP][+-]?(([0-9]_*)+))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},x=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),k=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),P=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),U=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[x(e),k(e),P(e)]}),B=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[x(e),P(e)]}),F={className:"string",variants:[U(),U("#"),U("##"),U("###"),B(),B("#"),B("##"),B("###")]},j={match:i(/`/,_,/`/)},H=[j,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${h}+`}],G=[{match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:O,contains:[...L,D,F]}]}},{className:"keyword",match:i(/@/,a(...T))},{className:"meta",match:i(/@/,_)}],z={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,h,"+")},{className:"type",match:N,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,t(N)),relevance:0}]},$={begin:/</,end:/>/,keywords:R,contains:[...E,...w,...G,C,z]};z.contains.push($);const V={begin:/\(/,end:/\)/,relevance:0,keywords:R,contains:["self",{match:i(_,/\s*:/),keywords:"_|0",relevance:0},...E,...w,...I,...L,D,F,...H,...G,z]},K={begin:/</,end:/>/,contains:[...E,z]},W={begin:/\(/,end:/\)/,keywords:R,contains:[{begin:a(t(i(_,/\s*:/)),t(i(_,/\s+/,_,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:_}]},...E,...w,...L,D,F,...G,z,V],endsParent:!0,illegal:/["']/},q={match:[/func/,/\s+/,a(j.match,_,m)],className:{1:"keyword",3:"title.function"},contains:[K,W,n],illegal:[/\[/,/%/]},X={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[K,W,n],illegal:/\[|%/},Y={match:[/operator/,/\s+/,m],className:{1:"keyword",3:"title"}},Z={begin:[/precedencegroup/,/\s+/,N],className:{1:"keyword",3:"title"},contains:[z],keywords:[...u,...d],end:/}/};for(const e of F.variants){const n=e.contains.find((e=>"interpol"===e.label));n.keywords=R;const t=[...w,...I,...L,D,F,...H];n.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:R,contains:[...E,q,X,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:R,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...w]},Y,Z,{beginKeywords:"import",end:/$/,contains:[...E],relevance:0},...w,...I,...L,D,F,...H,...G,z,V]}}},8987:e=>{const n="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],i=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],s=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","module","global"],l=[].concat(s,a,r);function c(e){const c=e.regex,d=n,u={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const t=e[0].length+e.index,i=e.input[t];if("<"===i||","===i)return void n.ignoreMatch();let a;">"===i&&(((e,{after:n})=>{const t="</"+e[0].slice(1);return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch()),(a=e.input.substr(t).match(/^\s+extends\s+/))&&0===a.index&&n.ignoreMatch()}},g={$pattern:n,keyword:t,literal:i,built_in:l,"variable.language":o},b="\\.([0-9](_?[0-9])*)",p="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${p})((${b})|\\.)?|(${b}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{begin:`\\b(${p})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},m={className:"subst",begin:"\\$\\{",end:"\\}",keywords:g,contains:[]},E={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,m],subLanguage:"xml"}},h={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,m],subLanguage:"css"}},_={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,m]},N={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,E,h,_,f];m.contains=T.concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(T)});const O=[].concat(N,m.contains),v=O.concat([{begin:/\(/,end:/\)/,keywords:g,contains:["self"].concat(O)}]),A={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:v},y={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,c.concat(d,"(",c.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},S={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...r]}},R={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[A],illegal:/%/},w={match:c.concat(/\b/,(I=[...s,"super"],c.concat("(?!",I.join("|"),")")),d,c.lookahead(/\(/)),className:"title.function",relevance:0};var I;const C={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},M="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",D={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(M)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{PARAMS_CONTAINS:v,CLASS_REFERENCE:S},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,E,h,_,N,f,S,{className:"attr",begin:d+c.lookahead(":"),relevance:0},D,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[N,e.REGEXP_MODE,{className:"function",begin:M,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:v}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:u.begin,"on:begin":u.isTrulyOpeningTag,end:u.end}],subLanguage:"xml",contains:[{begin:u.begin,end:u.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},C,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},y,L,{match:/\$[(.]/}]}}e.exports=function(e){const a=c(e),r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[a.exports.CLASS_REFERENCE]},d={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[a.exports.CLASS_REFERENCE]},u={$pattern:n,keyword:t.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:i,built_in:l.concat(r),"variable.language":o},g={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},b=(e,n,t)=>{const i=e.contains.findIndex((e=>e.label===n));if(-1===i)throw new Error("can not find mode to replace");e.contains.splice(i,1,t)};return Object.assign(a.keywords,u),a.exports.PARAMS_CONTAINS.push(g),a.contains=a.contains.concat([g,s,d]),b(a,"shebang",e.SHEBANG()),b(a,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),a.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(a,{name:"TypeScript",aliases:["ts","tsx"]}),a}},4610:e=>{e.exports=function(e){const n=e.regex,t=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,o,s,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[a,r,o,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},1392:e=>{e.exports=function(e){const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},a=e.inherit(i,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,i],c=[...l];return c.pop(),c.push(a),r.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:l}}}},n={},function t(i){var a=n[i];if(void 0!==a)return a.exports;var r=n[i]={exports:{}};return e[i].call(r.exports,r,r.exports,t),r.exports}(8384);var e,n}));
</script>

    <script>
      document.addEventListener('DOMContentLoaded', () => {
        const targetElement = document.getElementById('diff');
        const diff2htmlUi = new Diff2HtmlUI(targetElement);
        diff2htmlUi.fileListToggle(false);
        diff2htmlUi.synchronisedScroll();
        diff2htmlUi.highlightCode();
      });
    </script>
  </head>
  <body style="text-align: center; font-family: 'Source Sans Pro', sans-serif">
    <h1>unpacker_art.diff</h1>

    <div id="diff">
      <div class="d2h-file-list-wrapper">
    <div class="d2h-file-list-header">
        <span class="d2h-file-list-title">Files changed (7)</span>
        <a class="d2h-file-switch d2h-hide">hide</a>
        <a class="d2h-file-switch d2h-show">show</a>
    </div>
    <ol class="d2h-file-list">
    <li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-950545" class="d2h-file-name">dex2oat/dex2oat.cc</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+25</span>
          <span class="d2h-lines-deleted">-0</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-766644" class="d2h-file-name">runtime/Android.mk</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+9</span>
          <span class="d2h-lines-deleted">-1</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-365894" class="d2h-file-name">runtime/art_method.cc</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+20</span>
          <span class="d2h-lines-deleted">-1</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-108513" class="d2h-file-name">runtime/class_linker.h</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+4</span>
          <span class="d2h-lines-deleted">-0</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-538592" class="d2h-file-name">runtime/interpreter/interpreter.cc</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+5</span>
          <span class="d2h-lines-deleted">-1</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-197972" class="d2h-file-name">runtime/interpreter/interpreter_switch_impl.cc</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+24</span>
          <span class="d2h-lines-deleted">-1</span>
      </span>
    </span>
</li>
<li class="d2h-file-list-line">
    <span class="d2h-file-name-wrapper">
      <svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"
           viewBox="0 0 14 16" width="14">
          <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>
      </svg>      <a href="#d2h-450317" class="d2h-file-name">runtime/runtime.cc</a>
      <span class="d2h-file-stats">
          <span class="d2h-lines-added">+9</span>
          <span class="d2h-lines-deleted">-0</span>
      </span>
    </span>
</li>
    </ol>
</div><div class="d2h-wrapper">
    <div id="d2h-950545" class="d2h-file-wrapper" data-lang="cc">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">dex2oat/dex2oat.cc</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -1035,6 +1035,24 @@ class Dex2Oat FINAL {</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1035</div>
<div class="line-num2">1035</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">                                                        : OatHeader::kFalseValue);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1036</div>
<div class="line-num2">1036</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1037</div>
<div class="line-num2">1037</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1038</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1039</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1040</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  const char* UNPACK_CONFIG = &quot;&#x2F;data&#x2F;local&#x2F;tmp&#x2F;unpacker.config&quot;;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1041</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  bool ShouldUnpack() {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1042</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    std::ifstream config(UNPACK_CONFIG);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1043</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    std::string line;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1044</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    if(config) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1045</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">        while (std::getline(config, line)) { </span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1046</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">          std::string package_name = line.substr(0, line.find(&#x27;:&#x27;));</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1047</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">          if (oat_location_.find(package_name) != std::string::npos) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1048</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">            return true;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1049</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">          }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1050</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">        }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1051</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1052</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    return false;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1053</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1054</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1055</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1038</div>
<div class="line-num2">1056</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; Parse the arguments from the command line. In case of an unrecognized option or impossible</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1039</div>
<div class="line-num2">1057</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; values&#x2F;combinations, a usage error will be displayed and exit() is called. Thus, if the method</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1040</div>
<div class="line-num2">1058</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; returns, arguments have been successfully parsed.</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -1179,6 +1197,13 @@ class Dex2Oat FINAL {</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1179</div>
<div class="line-num2">1197</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1180</div>
<div class="line-num2">1198</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F; Insert some compiler things.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1181</div>
<div class="line-num2">1199</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    InsertCompileOptions(argc, argv);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1200</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1201</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1202</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1203</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    if (ShouldUnpack()) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1204</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      compiler_options_-&gt;SetCompilerFilter(CompilerFilter::kVerifyAtRuntime);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1205</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1206</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1182</div>
<div class="line-num2">1207</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1183</div>
<div class="line-num2">1208</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1184</div>
<div class="line-num2">1209</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; Check whether the oat output files are writable, and open them for later. Also open a swap</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-766644" class="d2h-file-wrapper" data-lang="mk">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/Android.mk</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -193,7 +193,15 @@ LIBART_COMMON_SRC_FILES := \</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">193</div>
<div class="line-num2">193</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  verifier&#x2F;reg_type_cache.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">194</div>
<div class="line-num2">194</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  verifier&#x2F;register_line.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">195</div>
<div class="line-num2">195</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  well_known_classes.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-del d2h-change">
      <div class="line-num1">196</div>
<div class="line-num2"></div>
    </td>
    <td class="d2h-del d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">-</span>
            <span class="d2h-code-line-ctn">  zip_archive.cc</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins d2h-change">
      <div class="line-num1"></div>
<div class="line-num2">196</div>
    </td>
    <td class="d2h-ins d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  zip_archive.cc<ins> \</ins></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">197</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  unpacker&#x2F;unpacker.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">198</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  unpacker&#x2F;cJSON.cc</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">199</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">200</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">201</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  # zip_archive.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">202</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  # unpacker&#x2F;unpacker.cc \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">203</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  # unpacker&#x2F;cJSON.cc</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">204</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">197</div>
<div class="line-num2">205</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">198</div>
<div class="line-num2">206</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">LIBART_COMMON_SRC_FILES += \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">199</div>
<div class="line-num2">207</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  arch&#x2F;context.cc \</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-365894" class="d2h-file-wrapper" data-lang="cc">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/art_method.cc</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -40,6 +40,11 @@</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">40</div>
<div class="line-num2">40</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;scoped_thread_state_change.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">41</div>
<div class="line-num2">41</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;well_known_classes.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">42</div>
<div class="line-num2">42</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">43</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">44</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">45</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#include &quot;unpacker&#x2F;unpacker.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">46</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">47</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">43</div>
<div class="line-num2">48</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">namespace art {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">44</div>
<div class="line-num2">49</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">45</div>
<div class="line-num2">50</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">extern &quot;C&quot; void art_quick_invoke_stub(ArtMethod*, uint32_t*, uint32_t, Thread*, JValue*,</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -255,7 +260,12 @@ void ArtMethod::Invoke(Thread* self, uint32_t* args, uint32_t args_size, JValue*</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">255</div>
<div class="line-num2">260</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; If the runtime is not yet started or it is required by the debugger, then perform the</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">256</div>
<div class="line-num2">261</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; Invocation by the interpreter, explicitly forcing interpretation over JIT to prevent</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">257</div>
<div class="line-num2">262</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; cycling around the various JIT&#x2F;Interpreter methods that handle method invocation.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-del d2h-change">
      <div class="line-num1">258</div>
<div class="line-num2"></div>
    </td>
    <td class="d2h-del d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">-</span>
            <span class="d2h-code-line-ctn">  <del>if</del> <del>(UNLIKELY(!runtime-&gt;IsStarted()</del> <del>|| Dbg::IsForcedInterpreterNeededForCalling(self, this))) {</del></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins d2h-change">
      <div class="line-num1"></div>
<div class="line-num2">263</div>
    </td>
    <td class="d2h-ins d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  <ins>&#x2F;&#x2F;patch</ins> <ins>by</ins> <ins>Youlor</ins></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">264</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">265</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;如果是主动调用fake invoke并且不是native方法则强制走解释器</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">266</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  if (UNLIKELY(!runtime-&gt;IsStarted() || Dbg::IsForcedInterpreterNeededForCalling(self, this) </span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">267</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      || (Unpacker::isFakeInvoke(self, this) &amp;&amp; !this-&gt;IsNative()))) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">268</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">259</div>
<div class="line-num2">269</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    if (IsStatic()) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">260</div>
<div class="line-num2">270</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">      art::interpreter::EnterInterpreterFromInvoke(</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">261</div>
<div class="line-num2">271</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">          self, this, nullptr, args, result, &#x2F;*stay_in_interpreter*&#x2F; true);</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -266,6 +276,15 @@ void ArtMethod::Invoke(Thread* self, uint32_t* args, uint32_t args_size, JValue*</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">266</div>
<div class="line-num2">276</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">          self, this, receiver, args + 1, result, &#x2F;*stay_in_interpreter*&#x2F; true);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">267</div>
<div class="line-num2">277</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">268</div>
<div class="line-num2">278</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  } else {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">279</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">280</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">281</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;如果是主动调用fake invoke并且是native方法则不执行</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">282</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    if (Unpacker::isFakeInvoke(self, this) &amp;&amp; this-&gt;IsNative()) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">283</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      &#x2F;&#x2F; Pop transition.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">284</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      self-&gt;PopManagedStackFragment(fragment);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">285</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      return;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">286</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">287</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">269</div>
<div class="line-num2">288</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    DCHECK_EQ(runtime-&gt;GetClassLinker()-&gt;GetImagePointerSize(), sizeof(void*));</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">270</div>
<div class="line-num2">289</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">271</div>
<div class="line-num2">290</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    constexpr bool kLogInvocationStartAndReturn = false;</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-108513" class="d2h-file-wrapper" data-lang="h">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/class_linker.h</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -1176,6 +1176,10 @@ class ClassLinker {</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1176</div>
<div class="line-num2">1176</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  friend class ImageWriter;  &#x2F;&#x2F; for GetClassRoots</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1177</div>
<div class="line-num2">1177</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  friend class JniCompilerTest;  &#x2F;&#x2F; for GetRuntimeQuickGenericJniStub</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1178</div>
<div class="line-num2">1178</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  friend class JniInternalTest;  &#x2F;&#x2F; for GetRuntimeQuickGenericJniStub</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1179</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1180</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1181</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  friend class Unpacker;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1182</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1179</div>
<div class="line-num2">1183</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  ART_FRIEND_TEST(ClassLinkerTest, RegisterDexFileName);  &#x2F;&#x2F; for DexLock, and RegisterDexFileLocked</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1180</div>
<div class="line-num2">1184</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  ART_FRIEND_TEST(mirror::DexCacheTest, Open);  &#x2F;&#x2F; for AllocDexCache</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1181</div>
<div class="line-num2">1185</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  DISALLOW_COPY_AND_ASSIGN(ClassLinker);</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-538592" class="d2h-file-wrapper" data-lang="cc">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/interpreter/interpreter.cc</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -240,7 +240,11 @@ static std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, const InterpreterImplKind&amp; rhs</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">240</div>
<div class="line-num2">240</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  return os;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">241</div>
<div class="line-num2">241</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">}</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">242</div>
<div class="line-num2">242</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-del d2h-change">
      <div class="line-num1">243</div>
<div class="line-num2"></div>
    </td>
    <td class="d2h-del d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">-</span>
            <span class="d2h-code-line-ctn"><del>static</del> <del>constexpr</del> <del>InterpreterImplKind kInterpreterImplKind = kMterpImplKind;</del></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins d2h-change">
      <div class="line-num1"></div>
<div class="line-num2">243</div>
    </td>
    <td class="d2h-ins d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><ins>&#x2F;&#x2F;patch</ins> <ins>by</ins> <ins>Youlor</ins></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">244</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">245</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;static constexpr InterpreterImplKind kInterpreterImplKind = kMterpImplKind;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">246</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">static constexpr InterpreterImplKind kInterpreterImplKind = kSwitchImplKind;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">247</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">244</div>
<div class="line-num2">248</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">245</div>
<div class="line-num2">249</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#if defined(__clang__)</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">246</div>
<div class="line-num2">250</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F; Clang 3.4 fails to build the goto interpreter implementation.</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-197972" class="d2h-file-wrapper" data-lang="cc">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/interpreter/interpreter_switch_impl.cc</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -19,7 +19,10 @@</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">19</div>
<div class="line-num2">19</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;interpreter_common.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">20</div>
<div class="line-num2">20</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;jit&#x2F;jit.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">21</div>
<div class="line-num2">21</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;safe_math.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-del d2h-change">
      <div class="line-num1">22</div>
<div class="line-num2"></div>
    </td>
    <td class="d2h-del d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">-</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins d2h-change">
      <div class="line-num1"></div>
<div class="line-num2">22</div>
    </td>
    <td class="d2h-ins d2h-change">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><ins>&#x2F;&#x2F;patch by Youlor</ins></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">23</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">24</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#include &quot;unpacker&#x2F;unpacker.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">25</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">23</div>
<div class="line-num2">26</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &lt;memory&gt;  &#x2F;&#x2F; std::unique_ptr</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">24</div>
<div class="line-num2">27</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">25</div>
<div class="line-num2">28</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">namespace art {</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -61,13 +64,22 @@ namespace interpreter {</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">61</div>
<div class="line-num2">64</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">62</div>
<div class="line-num2">65</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">63</div>
<div class="line-num2">66</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F; Code to run before each dex instruction.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">67</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">68</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">64</div>
<div class="line-num2">69</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#define PREAMBLE()                                                                              \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">65</div>
<div class="line-num2">70</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  do {                                                                                          \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">71</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    inst_count++;                                                                               \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">72</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    bool dumped = Unpacker::beforeInstructionExecute(self, shadow_frame.GetMethod(),            \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">73</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">                                                     dex_pc, inst_count);                       \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">74</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    if (dumped) {                                                                               \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">75</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      return JValue();                                                                          \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">76</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    }                                                                                           \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">66</div>
<div class="line-num2">77</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    if (UNLIKELY(instrumentation-&gt;HasDexPcListeners())) {                                       \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">67</div>
<div class="line-num2">78</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">      instrumentation-&gt;DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item-&gt;ins_size_),  \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">68</div>
<div class="line-num2">79</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">                                       shadow_frame.GetMethod(), dex_pc);                       \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">69</div>
<div class="line-num2">80</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    }                                                                                           \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">70</div>
<div class="line-num2">81</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  } while (false)</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">82</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">71</div>
<div class="line-num2">83</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">72</div>
<div class="line-num2">84</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#define BRANCH_INSTRUMENTATION(offset)                                                         \</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">73</div>
<div class="line-num2">85</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  do {                                                                                         \</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -119,6 +131,10 @@ JValue ExecuteSwitchImpl(Thread* self, const DexFile::CodeItem* code_item,</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">119</div>
<div class="line-num2">131</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; to keep this live for the scope of the entire function call.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">120</div>
<div class="line-num2">132</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  std::unique_ptr&lt;lambda::ClosureBuilder&gt; lambda_closure_builder;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">121</div>
<div class="line-num2">133</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  size_t lambda_captured_variable_index = 0;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">134</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">135</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">136</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  int inst_count = -1;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">137</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">122</div>
<div class="line-num2">138</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  do {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">123</div>
<div class="line-num2">139</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    dex_pc = inst-&gt;GetDexPc(insns);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">124</div>
<div class="line-num2">140</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    shadow_frame.SetDexPC(dex_pc);</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -2433,6 +2449,13 @@ JValue ExecuteSwitchImpl(Thread* self, const DexFile::CodeItem* code_item,</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2433</div>
<div class="line-num2">2449</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">      case Instruction::UNUSED_7A:</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2434</div>
<div class="line-num2">2450</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">        UnexpectedOpcode(inst, shadow_frame);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2435</div>
<div class="line-num2">2451</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2452</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2453</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2454</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    bool dumped = Unpacker::afterInstructionExecute(self, shadow_frame.GetMethod(), dex_pc, inst_count);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2455</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    if (dumped) {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2456</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">      return JValue();</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2457</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    }</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">2458</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">    &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2436</div>
<div class="line-num2">2459</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  } while (!interpret_one_instruction);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2437</div>
<div class="line-num2">2460</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F; Record where we stopped.</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">2438</div>
<div class="line-num2">2461</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  shadow_frame.SetDexPC(inst-&gt;GetDexPc(insns));</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
<div id="d2h-450317" class="d2h-file-wrapper" data-lang="cc">
    <div class="d2h-file-header">
    <span class="d2h-file-name-wrapper">
    <svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">
        <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>
    </svg>    <span class="d2h-file-name">runtime/runtime.cc</span>
    <span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span></span>
<label class="d2h-file-collapse">
    <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">
    Viewed
</label>
    </div>
    <div class="d2h-file-diff">
        <div class="d2h-code-wrapper">
            <table class="d2h-diff-table">
                <tbody class="d2h-diff-tbody">
                <tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -140,6 +140,11 @@</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">140</div>
<div class="line-num2">140</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;verifier&#x2F;method_verifier.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">141</div>
<div class="line-num2">141</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">#include &quot;well_known_classes.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">142</div>
<div class="line-num2">142</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">143</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">144</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">145</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">#include &quot;unpacker&#x2F;unpacker.h&quot;</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">146</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">147</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">143</div>
<div class="line-num2">148</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">namespace art {</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">144</div>
<div class="line-num2">149</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">145</div>
<div class="line-num2">150</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">&#x2F;&#x2F; If a signal isn&#x27;t handled properly, enable a handler that attempts to dump the Java stack.</span>
        </div>
    </td>
</tr>
<tr>
    <td class="d2h-code-linenumber d2h-info"></td>
    <td class="d2h-info">
        <div class="d2h-code-line">@@ -1421,6 +1426,10 @@ void Runtime::RegisterRuntimeNativeMethods(JNIEnv* env) {</div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1421</div>
<div class="line-num2">1426</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  register_org_apache_harmony_dalvik_ddmc_DdmServer(env);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1422</div>
<div class="line-num2">1427</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  register_org_apache_harmony_dalvik_ddmc_DdmVmInternal(env);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1423</div>
<div class="line-num2">1428</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">  register_sun_misc_Unsafe(env);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1429</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;patch by Youlor</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1430</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1431</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  Unpacker::register_cn_youlor_Unpacker(env);</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-ins">
      <div class="line-num1"></div>
<div class="line-num2">1432</div>
    </td>
    <td class="d2h-ins">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">+</span>
            <span class="d2h-code-line-ctn">  &#x2F;&#x2F;++++++++++++++++++++++++++++</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1424</div>
<div class="line-num2">1433</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">}</span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1425</div>
<div class="line-num2">1434</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn"><br></span>
        </div>
    </td>
</tr><tr>
    <td class="d2h-code-linenumber d2h-cntx">
      <div class="line-num1">1426</div>
<div class="line-num2">1435</div>
    </td>
    <td class="d2h-cntx">
        <div class="d2h-code-line">
            <span class="d2h-code-line-prefix">&nbsp;</span>
            <span class="d2h-code-line-ctn">void Runtime::DumpForSigQuit(std::ostream&amp; os) {</span>
        </div>
    </td>
</tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
</div>
    </div>
  </body>
</html>
